( 4 )MySQL中的数据类型(字符串类型)
时间:2021-07-01 10:21:17
帮助过:13人阅读
六中数据库中的数据类型
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中的数据类型(字符串类型)
标签:gbk 逗号 text center 字符串转换 设计 ext 空间 sql