数据类型-枚举类型与集合类型
枚举类型与集合类型应用场景:字段的值只能在给定范围中选择,如单选框,多选框。
枚举类型 enum ,单选,只能在给定的范围内选一个值,如性别 sex 男male/女female
集合类型 set , 多选,在给定的范围内可以选择一个或一个以上的值(爱好1,爱好2,爱好3...)
例子:
mysql> create table consumer(
-> name varchar(50),
-> sex enum('male','female'), # 将sex字段设为enum枚举类型,只能选择male和female
-> level enum('vip1','vip2','vip3'), # 将level字段设为enum枚举类型,只能选择vip1,vip2,vip3
-> hobby set('play','music','read','study') # 将hobby字段设置为set集合类型,可选择多个爱好
-> );
Query OK, 0 rows affected (0.02 sec)
mysql> insert into consumer values('alex','male','vip3','study,play'); # 正常插入可选择的字段值
Query OK, 1 row affected (0.01 sec)
mysql> insert into consumer values('alex','xxx','vip3','yyy,study,play'); # 插入一条没有在可选择范围内的值, xxx和yyy
Query OK, 1 row affected, 2 warnings (0.00 sec)
mysql> select * from consumer; # 来看一下
+------+------+-------+------------+
| name | sex | level | hobby |
+------+------+-------+------------+
| alex | male | vip3 | play,study | # 正常插入,没有问题
| alex | | vip3 | play,study | # 没有在选择范围内的值就没有被插入,这里的xxx和yyy没有被成功插入
+------+------+-------+------------+
2 rows in set (0.00 sec)
共有 0 条评论