四时宝库

程序员的知识宝库

SQL - 创建数据表时的常用数据类型 147

#头条创作挑战赛#

数据库中的数据类型与C#中的存在意义差不多都是为提高数据的安全,存储,读取与使用效率

数据库中常用的数据类型大致分为以下几种(以sql server 2008 r2为例)

1)文本数据类型:其字符数据包括任意的字母,数字或符号字符的组合,使用单引号表示

A:char(0-8000) 固定长度的非Unicode字符数据,其最大长度8000个此类字符

B:varchar(0-8000) 可变长度的非Unicode字符数据,最大长度与上面一样

C:nchar(0-4000) 固定长度的 Unicode 数据

D:Nvarchar(0-4000)可变长度的 Unicode 数据

E:Text(0-2G) 存储长文本信息

F:varchar(max)与nvarchar(max)即大字符串类型可以保存非常多的字符,DNMS会将其保存到单独空间内使得数据的保存和加载速度比较慢,因此除非必要,否则不要使用

Unicode编码:也叫万国码,主要为解决跨语言间的文本转换处理,使用两个字节表示每个字符的字符编码方案


char/nchar:固定长度,如果实际存储数据长度不足,则用空格来补全,如身份证(假设都是18位),邮政编码(假设为6位)等一般都使用固定长度

varchar/nvarchar:可变长度,会根据实际存储数据的大小来重新计算列名数据的长度,如存储的密码,少量的简介信息等一般情况都是使用可变长度

两者优缺点:前者会浪费存储空间,造成数据库文件肿大;后者浪费效率(会重新计算)

因此固定长度的字符串相对于可变长度的字符串来说效率要高一些,在数据长度固定的情况下优先选用固定长度,固定相对于可变的字符串节省其内部计算长度的过程,提高效率,现今只需要设置为nchar类型,长度设置为10个即可足够使用

char/varchar与nchar/nvarchar的区别

1)前两者存储的长度范围为1-8000; 后两者存储的长度范围为1-4000

2)前两者可以存储10个单字节字符(如字母与数字)或者5个双字节字符(如汉字)

后两者无论单字节还是双字节字符在存储时都会以双字节方式存储

建议unicode字符使用nchar/nvarchar来保存,因为这个类型相对来说更保险


2)数字数据 包括正数、负数以及分数

A:整形的两个 int 与 smallint B:数字的两个 float与real 其中float与C#中的double对应

3)日期和时间 Datetime 日期和时间在单引号内输入

4)货币类型 money 和 smallmoney可以精确到它们所代表的货币单位的万分之一

5)布尔类型 bit 其值只有 true与false

6)二进制类型 image 就是数据流,存储非字符和文本的数据,如图像

至于其他的数据类型不怎么用就不再细说,这些数据类型与C#中对应相似的数据类型,以后会通过具体实例进行详细讲解

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接