alter table <表名> alter column <字段名> 新类型名(长度)
举例: alter table T_CustomerFile alter MobilePhoneNumber nvarchar(50)
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]
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字符数据。spa
char,varchar | 最多8000个英文,4000个汉字 |
nchar,nvarchar | 可存储4000个字符,不管英文仍是汉字 |
TEXT.net
text存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。设计
ntext
可变长度 Unicode 数据的最大长度为 2^30 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。code
若是数据量很是大,又能100%肯定长度且保存只是ansi字符,那么使用char
能肯定长度又不必定是ansi字符或者,那么使用nchar
对于超大数据,如文章内容,使用nText
其余的通用nvarcharblog
DECIMAL
(P,D)
表示列能够存储D
位小数的P
位数。十进制列的实际范围取决于精度和刻度。get
剩余数字 | 位 |
---|---|
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
个字节。it
业务比较简单的数据库设计,使用PowerDesigner就够了。
点击新建新模型->Categories->Infomation->Physical Data,便可开启数据库表结构设计之旅。
设计好的数据库表结构,双击在“Table Properties”标签页下,有一个“Preview”的标签,打开,便可看到对应数据库表设计的SQL语句。直接复制到MSSQLServer、Oracle或其余数据库的执行窗口,执行便可建立。
若是业务相对复杂,可使用astah professional版原本进行业务和数据库设计,在astah的主界面的tools->ER Diagram->Export Sql... 能够导出对应的SQL语句。
参考