文本字符串,枚举字符串和集合字符串

文本字符串

如果数据量非常大,通常说超过255个字符就会使用文本字符串
文本字符串根据存储的数据的格式进行分类:text和blob
Text:存储文字(二进制数据实际上都是存储路径)
Blob:存储二进制数据(通常不用)

枚举字符串

枚举就是单选

枚举:enum,事先将所有可能出现的结果都设计好,实际上存储的数据必须是规定好的数据中的一个

枚举的使用方式
定义:enum(可能出现的元素列表); //如 enum(‘男’,‘女’,‘保密’);
使用:存储数据,只能存储上面定义好的数据

创建枚举表

 

插入数据:作用之一:规范数据格式,数据只能是规定数据中的一个


作用之二:节省存储空间(枚举通常有一个别名:单选框):枚举实际存储的是数值而不是字符串本身
在mysql中,系统也是自动转换数据格式的:而且基本与PHP一样(尤其是字符串转数字)

证明字段存储的数据是数值:将数据取出来 +0 就可以判断出原来的数据存的到底是字符串还是数值:如果是字符串最终结果永远为0,否则就是其他值

找出了枚举元素的实际规律 :按照元素出现的顺序,从1开始编号


枚举的原理:枚举在进行数据规范的时候(定义的时候),系统会自动建立一个数字与枚举元素的对应关系(关系放到日志中):然后在进行数据插入的时候,系统自动将字符转换成对应的数字存储,然后再进行数据提取的时候,系统自动将数值转换成对应的字符串显示

因为枚举实际存储的是数值,所以可以直接插入数值

 

集合字符串

集合就是多选

集合跟枚举很类似:实际存储的是数值。而不是字符串(集合是多选)
集合使用方式:
定义:Set(元素列表)
使用:可以使用元素列表中的元素(多个),使用逗号隔开

创建集合表

插入数据:可以使用多个元素字符串组合,也可以直接插入数值


查看集合数据


集合中没一个元素都是对应一个二进制位,被选中位1,没有则为0:最后反过来

 

 

 

原文地址:https://www.cnblogs.com/sunhao96/p/7600221.html