位置: 编程技术 - 正文
推荐整理分享MySQL中VARCHAR与CHAR格式数据的区别(mysql varchar2),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:mysql varchar和nvarchar,mysql中varchar和char的区别,mysql varchar2,mysql数据库中varchar对应java,mysql中varchar和char,MySQL中varchar与char的区别,MySQL中varchar与char的区别,mysql中varchar和char,内容如对您有帮助,希望把文章链接给更多的朋友!
区别
CHAR与VARCHAR类型类似,但它们保存和检索的方式不同。CHAR有固定的长度,而VARCHAR属于可变长的字符类型。它们最大长度和是否尾部空格被保留等方面也不同。在存储和检索过程中不进行大小写转换。
下面的表格显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:
值 CHAR(4) 存储需求 VARCHAR(4) 存储需求'' ' ' 4个字节 '' 1个字节'ab' 'ab ' 4个字节 'ab' 3个字节'abcd' 'abcd' 4个字节 'abcd' 5个字节'abcdefgh' 'abcd' 4个字节 'abcd' 5个字节
从上面可以看得出来CHAR的长度是固定的,不管你存储的数据是多少他都会都固定的长度。而VARCHAR则处可变长度但他要在总长度上加1字节,这个用来存储字符长度(如果声明的长度超过,则使用2个字节)。所以实际应用中用户可以根据自己的数据类型来做。
请注意,上表中最后一行的值只适用不使用严格模式时;如果MySQL运行在严格模式,超过列长度的值不被保存,并且会出现错误。
从CHAR(4)和VARCHAR(4)列检索的值并不总是相同,因为检索时从CHAR列删除了尾部的空格。通过下面的例子说明差别:
结果如下:
从上面可以看出来,由于某种原因CHAR有固定长度,所以在处理速度上要比VARCHAR快很多,但是相对浪费存储空间,所以对存储不大,但在速度上有要求的可以使用CHAR类型,反之可以用VARCHAR类型来实现。
建议
MyISAM存储引擎 建议使用固定长度,数据列代替可变长度的数据列 INNODB 存储引擎 建议使用VARCHAR类型
总结分析:
文字字段若长度固定,如:身分证号码,就不要用 varchar 或 nvarchar,应该用 char 或 nchar。支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题 文字字段若长度不固定,如:地址,则该用 varchar 或 nvarchar。除了可节省存储空间外,存取硬盘时也会较有效率
Mysql数据库命令大全 一、连接Mysql格式:mysql-h主机地址-u用户名-p用户密码1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql-uroot-p,回车后
修改MySQL的数据库引擎为INNODB的方法 对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam。INNODB的实用性,安全性,稳定性更高但
修改MySQL的默认密码的四种小方法 对于windows平台来说安装完MySQL数据库后,系统就已经默认生成了许可表和账户,你不需要像在Unix平台上那样执行mysql_install_db脚本来生成帐户和相应权限
标签: mysql varchar2
本文链接地址:https://www.jiuchutong.com/biancheng/347991.html 转载请保留说明!友情链接: 武汉网站建设