1、enum
单选字符串数据类型,适合存储表单界面中的“单选值”。
设定enum的时候,需要给定“固定的几个选项”;存储的时候就只存储其中的一个值。
设定enum的格式:
enum("选项1","选项2","选项3",...);
实际上,enum的选项都会对应一个数字,依次是1,2,3,4,5...,最多有65535个选项
使用的时候,可以使用选项的字符串格式,也可以使用对应的数字。
2、set
多选字符串数据类型,适合存储表单界面的“多选值”。
设定set的时候,同样需要给定“固定的几个选项”;存储的时候,可以存储其中的若干个值。
设定set的格式:
set("选项1","选项2","选项3",...)
同样的,set的每个选项值也对应一个数字,依次是1,2,4,8,16...,最多有64个选项
使用的时候,可以使用set选项的字符串本身(多个选项用逗号分隔),也可以使用多个选项的数字之和(比如:1+2+4=7)
介绍引用地址:https://www.cnblogs.com/benbenzhu/p/5604598.html (我懒得写了)
示例:
--创建一个表
create table demo(
id int auto_increment primary key,
animal enum('哺乳动物','非哺乳动物'),
name set('猫','鱼','狗','鸟')
)engine=InnoDB default charset=utf8;
--添加
--一个enum值,一个set值,二者均使用选项的字符串格式
insert into demo(animal,name) values('哺乳动物','狗');
--一个enum值,多个set值,二者均使用选项的字符串格式
insert into demo(animal,name) values('哺乳动物','猫,狗');
--一个enum值,一个set值,二者均使用选项的数字格式
insert into demo(animal,name) values(1,1);
--一个enum值,多个set值,二者均使用选项的数字格式
-- enum 1 <=> '哺乳动物', set 5=1+4 <=>'猫,狗'
insert into demo(animal,name) values(1,4);
--enum值使用选项的字符格式,set值使用选项的数字格式
-- set 10=2+8 <=>'鱼,鸟'
insert into demo(animal,name) values('非哺乳动物',10);
结果: