首页 » 编程 » Python-8.MySQL数据库 » 正文

数据类型-枚举类型与集合类型

枚举类型与集合类型应用场景:字段的值只能在给定范围中选择,如单选框,多选框。

枚举类型 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)

 

 

 

 

发表评论

*