详解MySQL数据库中字符串的正确使用_MySQL
程序员文章站
2022-05-10 14:00:00
...
此文章主要介绍的是MySQL数据库的字符(串)的实际操作步骤,我们大家都知道MySQL数据库的字符(串)在实际操作是经常被用到了,所以你对其有更多的了解还是好的,希望会给你带来一些帮助在此方面。
MySQL数据库的字符(串)类不要以为字符类型就是CHAR,CHAR和VARCHAR的区别在于CHAR是固定长度,只要你定义一个字段是CHAR(10),那么不论你存储的数据是否达到了10个字节,它都要占去10个字节的空间;而VARCHAR则是可变长度的,如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为VARCHAR(10)是最合算的,VARCHAR类型的占用空间是它的值的实际长度+1。
为什么要+1呢?这一个字节用于保存实际使用了多大的长度。从这个+1中也应该看到,如果一个字段,它的可能值最长是10个字符,而多数情况下也就是用到了10个字符时,用VARCHAR就不合算了:因为在多数情况下,实际占用空间是11个字节,比用CHAR(10)还多占用一个字节。
举个例子,就是一个存储股票名称和代码的表,股票名称绝大部分是四个字的,即8个字节;股票代码,上海的是六位数字,深圳的是四位数字。这些都是固定长度的,股票名称当然要用CHAR(8);股票代码虽然是不固定长度,但如果使用VARCHAR(6),一个深圳的股票代码实际占用空间是5个字节,而一个上海的股票代码要占用7个字节!考虑到上海的股票数目比深圳的多,那么用VARCHAR(6)就不如CHAR(6)合算了。
虽然一个CHAR或VARCHAR的最大长度可以到255,我认为大于20的CHAR是几乎用不到的
上一篇: mysql主从同步问题及解决过程详解
下一篇: php文件缓存类用法实例分析_PHP教程
推荐阅读
-
Mysql数据库表定期备份的实现详解
-
mysql的innodb数据库引擎详解
-
MySQL中主键为0与主键自排约束的关系详解(细节)
-
Mysql注入中的outfile、dumpfile、load_file函数详解
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
Mysql使用索引的正确方法及索引原理详解
-
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
-
MySQL数据库中CAST与CONVERT函数实现类型转换的讲解
-
使用wordpress的$wpdb类读mysql数据库做ajax时出现的问题该如何解决
-
在MySQL中自定义参数的使用详解