( 4 )MySQL中的数据类型(字符串类型)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了( 4 )MySQL中的数据类型(字符串类型)相关的知识,希望对你有一定的参考价值。

mysql中的数据类型(字符串类型)

字符长类型
六中数据库中的数据类型
char , varchar , text ,blob,enum,set
 
char和varchar
char定长:磁盘空间比较浪费,但是效率高,确定数据长度都一样,就使用定长
比如:电话号码,身份证号
varchar边长:比较节省空间,但是效率低,数据不能确定长度(不同数据长度有变化)
比如:地址
 
text类型:
如果数据量非常大,通常说超多255个字符,就使用文本类型
Text 类型最大记录长度为10个字节(主要用来存储地址和长度)
text分类
text 和 blob
text : 存储文字(必要协议,备注等等)
blob : 存储二进制数据(通常不用),二进制数据实际上都是存储路径
 
enum类型
事先将可能出现的结果都设计好,实际存储的数据必须是枚举中的一个
枚举实际在数据库中存储的数据是数值而不是字符串
使用方式:enum(可能出现的元素列表)
使用 : 存储数据,只能存储上面定义好的数据
 
枚举原理:
枚举在进行数据规范的时候,系统会自动建立一个数字与枚举元素对应的关系(存放于日志中),然后进行数据插入的时候,系统自动将字符串转换成对应的数字存储,然后在进行数据提取的时候,系统自动将数值转换成对应的字符长进行显示
 
集合字符串set
集合和枚举很类似: 实际存储的数值而不是字符串(集合是多选)
集合的使用方式
定义: set(元素列表)
使用: 可以使用元素列表中的一个或者多个,使用逗号隔开
插入数据:可以使用多个元素字符串组合,也可以直接插入数值
集合中每一个元素都对应一个二进制位,选中的为1,未选中的为0,从右向左取
集合中元素的排序关系:其实就是位运算(取反)
 
MYSQL中最大记录的长度
理论上最大长度为 65535字节(实际上永远达不到)
在utf8字符集下最大长度 : 21844 21844 * 3 + 2 = 65534
在GBK字符集下最大长度 : 32766 32766 * 2 + 2 = 65534
 
MySQL记录
如果有任何一个字段允许为空,系统将自动从整个记录中保留一个字节来存储NULL(弱想释放NULL所占用的字节:必须保证所有的字段都不允许为空)
 
 

 
 
 
 

以上是关于( 4 )MySQL中的数据类型(字符串类型)的主要内容,如果未能解决你的问题,请参考以下文章

Mysql基本类型(字符串类型)——mysql之二

mysql中的json数据类型

mysql中的数据类型enum和set

mysql数据中的字段的建立

MySQL调优数据类型优化

mysql中的字符串类型数据索引优化