打赏

JAVA入门到精通-第57讲-SQLserver数据类型

 
[关键字]用[ ]包起来
 
SQLserver数据类型:
非unicode编码:
在计算机世界,每一个字符都有编码的东西
unicode码的特点:
用两个字节表示一个字符(可以是英文字符,汉字)。
 
big5支持繁体;
iso-8859-1编码:支持欧洲文字编码;
gb2312支持中文汉字;
gbk可以支持更多的汉字;
邮件服务器,国际性的软件会涉及多种编码的问题,
不同国家的文字,是否支持文字;
 
char最大值能存8000个字符,能存4000个汉字;
非unicode编码,用两个字节 表示一个汉字;
 
char定长,会补全;
char(100)  表中aa后面会有98个空格;
 
varchar  变长;
varchcar中数据库会自动回收剩下的空间;
 
为什么还要char?
在这样情况下应当使用到char:
假设要设计一个数据库 ,这个数据库有一个字段是
学号,6位,定长;
定长应该毫不犹豫的选用char,
因为char的查询速度很快,varchar数据库中需要一个个匹配,
查询速度和效率比较慢;
 
 
SQLserver帮助文档:
 
 
字符超过了8000个,可以考虑用text或者ntext;
尽可能使用Unicode编码,ntext;
 
Unicode / 非Unicode 编码
Unicode编码的速度会更快;
nchar /nvarchar 和前面的最大区别是Unicode编码
Unicode编码无论是单个字母还是 汉字都占两个字节;
不确定大小,不超过4000字符,
有可能有汉字:nchar;
能用nchar就不用char;
 
 
 
 
bit: 0-1
慎用bit
 
------------------------------

表的管理--表名和列的命名规则

1、必需以字母,_开头

2、长度不能超过128个字符

3、不要使用sql server的保留字

4、只能使用如下字符A-Za-z0-9$#_

 

表的管理--支持的数据类型

字符型

char 定长 最大8000字符(unicode编码)

char(10)'小韩'前四个字符放'小韩',后添6个空格补全

varchar变长 最大8000字符(unicode编码)

varchar(10)'小寒'sql server分配四个字符,这样可以节省空间

ntext可变长度Unicode数据的最大长度为230次方-1(1,073,741,823)个字符

text可变长度非Unicode数据的最大长度为231次方-1(2,147,483,647)个字符

区别:

1text是字节格式存储英文的,也可以存中文但有时候会显示成乱码

2ntext是多字节格式存储unicode的,也就是存储各种文字用的。

在什么时候使用char型而不使用varchar,在知道字段定长固定时就使用char

 

字符型

nchar 定长 最大4000字符(unicode编码)

nchar(10)'小韩'前四个字符放'小韩',后添6个空格补全

nvarchar 变长 最大4000字符(unicode编码)

nvarchar(10)'小寒'sql server分配四个字符,这样可以节省空间

特别说明:

1、一般带有汉字的字段用nvarchar,全英文或符号的用varchar,因为nvarcharunicode字符集,该类型的字段无论是单个字母还是单个汉字都占两个字节,而varchar,字母占一个字节,汉字占两个,nvarchar处理汉字或其它unicode字符集的速度要比varchar字段快。

2、如果有一些特殊字符在nvarchar中没有的,如日文的某些名片,那当然只能选合适的代码页用varchar了,而且这些特有语言特有的字符转换到nvarchar会消失

 

表的管理--支持的数据类型

数字型

1bit 范围 01

2int 范围 负的231次方到正的 231次方-1

3bigint 范围 负的263次方到正的 263次方-1

4float 存放小数,不推荐使用

5numeric 小数

强烈建议 如果要去存放小数最好使用numeric

 

 
 
 
 
 
 
 



posted on 2018-11-28 23:18  XuCodeX  阅读(202)  评论(0编辑  收藏  举报

导航