数据库char,varchar,nchar,nvarchar类型区别为:长度不同、字节不同、空格不同。
一、长度不同
1、char类型:char类型的长度固定,占用更多的存储空间。
2、varchar类型:varchar类型的长度不固定,占用更少的存储空间。
3、nchar类型:nchar类型的长度固定,占用更多的存储空间。
4、nvarchar类型:nvarchar类型的长度不固定,占用更少的存储空间。
二、字节不同
1、char类型:char类型所有的字符使用一个字节表示。
2、varchar类型:varchar类型所有的字符使用一个字节表示。
3、nchar类型:nchar类型所有的字符使用两个字节表示。
4、nvarchar类型:nvarchar类型所有的字符使用两个字节表示。
三、空格不同
1、char类型:char类型保存的时候会去掉字符串末尾的空格。
2、varchar类型:varchar类型保存的时候不会去掉字符串末尾的空格。
3、nchar类型:nchar类型保存的时候会去掉字符串末尾的空格。
4、nvarchar类型:nvarchar类型保存的时候不会去掉字符串末尾的空格。
首先要确定mysql版本,一般一个汉字2个字节,50即可存25个汉字。
4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)
5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。
varchar特点
1、使用比固定长度类型(char)占用更少存储空间(除了使用ROW_FORMAT=FIXED创建的MyISAM表)。
2、使用额外的1-2字节来存储值长度,列长度<=255使用1字节保存,其它情况使用2字节保存。例如varchar(10)会占用11字节存储空间,varchar(500)会占用502字节存储空间。
3、节约空间,所以性能会有帮助。在更新的时候会产生额外的工作。
以上内容参考:百度百科-varchar
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)