建立SQL数据库,其中有个身份z的字段,该用什么数据类型。

建立SQL数据库,其中有个身份z的字段,该用什么数据类型。,第1张

设计用户表时,身份z号为固定18位长,对该字段最好采用char数据类型。

char类型对英文字符占用1个字节,对一个汉字占用2个字节,而且char存储定长数据很方便,char字段上的索引效率极高。

比如:定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。

扩展资料

char与varchar的比较:

1、数据存储开销

每个varchar列需要额外的两个字节,用于反映存储的数据的长度。

每个可为NULL的char列,需要一些字节(空位图)来反应数据的为空性。无论实际数据的长度是多少,char按照定义的长度分配存储空间。

2、NULL值

char列的NULL值占用存储空间,varcahr列的NULL值不占用存储空间。插入同样数量的NULL值,varchar列的插入效率明显高出char列。

3、插入数据

无论插入数据涉及的列是否建立索引,char的效率都明显低于varchar。

4、更新数据

如果更新的列上未建立索引,则char的效率低于varchar,差异不大;建立索引的话,效率差异较大。

5、修改结构

对于增加列的宽度而言,char与varchar有非常明显的效率差异,修改varcahr列基本上不花费时间,而修改char列需要花费很长的时间。

6、数据检索

无论是否通过索引,varchar类型的数据检索略优于char的扫描。

建SQL表时,身份z号码为固定18位长,对该字段最好采用char数据类型。

char类型对英文字符占用1个字节,对一个汉字占用2个字节,而且char存储定长数据很方便,char字段上的索引效率极高。

比如:定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。

扩展资料

比较SQL中的char、varchar、nchar、nvarchar的区别

1、前面加“n”与不加“n”

char、varchar这两个只能用于单字节来存储数据,适合英文,中文会不兼容。常用的汉字需要用两个字节来存储,所以就要使用nchar、nvarchar。

char、varchar因为是单字节的所以在存储的时候最大数值可以达到8000,而nchar、nvarchar是最大数值4000。

2、char与varchar的区别

直接举例子:char(10)就是给予一个固定的空间,不管存储的内容有没有到达10个字节,都占用10个字节的空间,同时,varchar(10)和nvarchar(10)的最大空间只能为10字节,如果不到10字节就不占用10字节。

大致是这样:

<tablename>换成你的表名,

idcard是我起的身份z号字段名;

字段类型我用的是varchar,看你自己的需求。

alter table <tablename>add idcard varchar(18)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9242089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存