文本字符串
如果数据量非常大,通常说超过255个字符就会使用文本字符串
文本字符串根据存储的数据的格式进行分类:text和blob
Text:存储文字(二进制数据实际上都是存储路径)
Blob:存储二进制数据(通常不用)
枚举字符串
枚举就是单选
枚举:enum,事先将所有可能出现的结果都设计好,实际上存储的数据必须是规定好的数据中的一个
枚举的使用方式
定义:enum(可能出现的元素列表); //如 enum(‘男’,‘女’,‘保密’);
使用:存储数据,只能存储上面定义好的数据
创建枚举表
插入数据:作用之一:规范数据格式,数据只能是规定数据中的一个
作用之二:节省存储空间(枚举通常有一个别名:单选框):枚举实际存储的是数值而不是字符串本身
在mysql中,系统也是自动转换数据格式的:而且基本与PHP一样(尤其是字符串转数字)
证明字段存储的数据是数值:将数据取出来 +0 就可以判断出原来的数据存的到底是字符串还是数值:如果是字符串最终结果永远为0,否则就是其他值
找出了枚举元素的实际规律 :按照元素出现的顺序,从1开始编号
枚举的原理:枚举在进行数据规范的时候(定义的时候),系统会自动建立一个数字与枚举元素的对应关系(关系放到日志中):然后在进行数据插入的时候,系统自动将字符转换成对应的数字存储,然后再进行数据提取的时候,系统自动将数值转换成对应的字符串显示
因为枚举实际存储的是数值,所以可以直接插入数值
集合字符串
集合就是多选
集合跟枚举很类似:实际存储的是数值。而不是字符串(集合是多选)
集合使用方式:
定义:Set(元素列表)
使用:可以使用元素列表中的元素(多个),使用逗号隔开
创建集合表
插入数据:可以使用多个元素字符串组合,也可以直接插入数值
查看集合数据
集合中没一个元素都是对应一个二进制位,被选中位1,没有则为0:最后反过来