zoukankan      html  css  js  c++  java
  • SQL 修改字段类型和长度,常见类型介绍及数据库设计工具PowerDesigner和astah

    1.电话字段设置24个Byte竟然不够,好吧设置为50的长度。

    alter table <表名> alter column <字段名> 新类型名(长度)
    举例:
    alter table T_CustomerFile alter MobilePhoneNumber nvarchar(50)

     2.删除一个表,整个表在数据库中消失

    IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[T_ABC]') AND type in (N'U'))
    
    DROP TABLE [dbo].[T_ABC]

    3、整型bigint、int、smallint、tinyint的区别

    bigint
    从 -2^63 (-9223372036854775808) 到 2^63-1(9223372036854775807) 的整型数据
    (所有数字)。存储大小为 8 个字节。
     
    int
    从 -2^31 (-2,147,483,648) 到 2^31 - 1(2,147,483,647) 的整型数据(所有数字)。
    存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。
     
    smallint
    从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。
     
    tinyint
    从 0 到 255 的整型数据。存储大小为 1 字节。

     4、varchar、nvarchar、char、nchar

    varchar(n)
    长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。

    nvarchar(n)
    包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

     如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文等)字符时用nvarchar

    char的长度是不可变的,而varchar的长度是可变的。char的存取数度比varchar要快得多,因为其长度固定,方便程序的存储与查找;char为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的

    nchar的长度是不可变的,Unicode字符数据。

    char,varchar 最多8000个英文,4000个汉字
    nchar,nvarchar 可存储4000个字符,无论英文还是汉字

    TEXT

    text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。

    ntext
    可变长度 Unicode 数据的最大长度为 2^30 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。

    如果数据量非常大,又能100%确定长度且保存只是ansi字符,那么使用char
    能确定长度又不一定是ansi字符或者,那么使用nchar
    对于超大数据,如文章内容,使用nText 
    其他的通用nvarchar

     5、DECIMAL(P,D)

    表示列可以存储D位小数的P位数。十进制列的实际范围取决于精度和刻度。

    剩余数字
    0 0
    1–2 1
    3–4 2
    5–6 3
    7-9 4

    例如:DECIMAL(19,9)对于小数部分具有9位数字,对于整数部分具有19位-9位 = 10位数字,小数部分需要4个字节。 整数部分对于前9位数字需要4个字节,1个剩余字节需要1个字节。DECIMAL(19,9)列总共需要9个字节。

     

    PowerDesigner  和 astah professional 

    业务比较简单的数据库设计,使用PowerDesigner就够了。

    点击新建新模型->Categories->Infomation->Physical Data,即可开启数据库表结构设计之旅。

    设计好的数据库表结构,双击在“Table Properties”标签页下,有一个“Preview”的标签,打开,即可看到对应数据库表设计的SQL语句。直接复制到MSSQLServer、Oracle或其他数据库的执行窗口,执行即可创建。

     

    如果业务相对复杂,可以使用astah professional版本来进行业务和数据库设计,在astah的主界面的tools->ER Diagram->Export Sql... 可以导出对应的SQL语句。

     

    参考

    https://blog.csdn.net/nutony/article/details/8510269

    https://blog.csdn.net/harbor1981/article/details/53449435

  • 相关阅读:
    宽度高度sizeWithFont:constrainedToSize:lineBreakMode的使用
    端口错误安卓模拟器不能启动:The connection to adb is down, and a severe error has occurred的解决办法
    树磁盘[HBase] LSM树 VS B+树
    请求方法Jsp&servlet面试题
    数组最小(百度面试题目)对升序数组,求数组中绝对值最小的元素
    类代理java设计模式动态代理(简单笔记)
    数据插入difference between count(*) and count(col) in the query
    跟踪查看oracle 执行计划获取的几种方式
    类型字节oracle 增强型时间类型以及postgresql时间类型
    类方法[笔记]Java基础加强(57天)2010年Java高新技术_张孝祥
  • 原文地址:https://www.cnblogs.com/mobilecard/p/9363632.html
Copyright © 2011-2022 走看看