Mysql中的复合类型

Mysql中支持两种复合类型:enum枚举类型和set集合类型

enum类型的字段只允许从一个集合中取得一个值,类似于单选按钮的功能。例如一个人的性别从集合{'男','女'}中取值,且只能取其中的一个值。

set类型的字段允许从一个集合中取得多个值,类似于复选框的功能。例如一个人的兴趣爱好可以从集合{'听音乐','购物','看电影','打球','打游戏'}中取值,且可以多取多个值。

例:在数据库中建立一个名为person的表,添加三个字段id字段,sex(类型为enum)字段和interest(类型为set),并用insert语句插入值,id字段为'',(插入语句中id为自增但是一定要写上)。注意:在插入语句中,如果将要插入的值没有在set的值范围内将不显示在表中。

mysql> insert into person values('','男','游戏,看电影,打篮球'); //电影不属于set里边设置的值,因此在查询时不显示

mysql> insert into person values('','女','游戏,听音乐');

mysql> insert into person values('','女','听音乐');

mysql> select * from person;
+----+-----+-------------+
| id | sex | interest    |
+----+-----+-------------+
|  1 | 男  | 打篮球,游戏 |
|  2 | 女  | 游戏,听音乐 |
|  3 | 女  | 听音乐      |
+----+-----+-------------+
3 rows in set

复合数据类型enum和set存储的是字符串类型的数据,只不过取值范围受到其设置的值得约束而已。


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值