Sql中nvarchar和varchar的区别

varchar和nvarchar的区别:

  varchar(n):长度为n个字节的可变长度且非unicode的字符数据。n必须是一个介于1和8000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。
  nvarchar(n):包括n个字符的可变长度Unicode字符数据。n的值必须介于1与4000之间,字节的存储大小是所输入字符个数(注意是个数)的两倍。
  例如:我和coffee:在varchar中字段占:2*2+6=10个字节的存储空间,而nvarchat字段占8*2=16个字节的存储空间。
  总结:如果只有英文可选择varchar,如果字段值存在较多的双字节(中文、韩文等)字符时用nvarchar。

  例如:varchar(4)可以输入4个字节,也可以输入两个汉字;nvarchar(4)可以输入4个汉字,也可以输入4个字符,但是最多4个;

注意mysql5.0以后采用utf-8编码,而传统的数据库采用unicode,一个汉字要用两个unicode的char,而在mysql中由于使用了utf-8,所以无论汉字还是字母,都是一个长度的char,所以就不用分nvarhcar和varchar了,一律作varchar

你可能感兴趣的:(MySQL)