源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

mysql之set与enum的介绍

  • 时间:2020-10-28 07:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:mysql之set与enum的介绍
[b]set,enum的数据类型都是字符串类型的对象[/b],其中set最多可以包含64个元素,并且可以任意取到集合中的元素。而enum则是只能取到集合中的木一个元素,最多包含65536个元素,也就是说set是多项选择,enum是单项选择了。 [b]这里我们来比较下他们之间相同点和不同点: [/b]
[u]复制代码[/u] 代码如下:
mysql> create table db_set(     -> set1 set('x','y','z') not null,     -> enum1 enum('one','two','three') not null); Query OK, 0 rows affected (0.06 sec) mysql> desc db_set; +-------+---------------------------+------+-----+---------+-------+ | Field | Type                      | Null | Key | Default | Extra | +-------+---------------------------+------+-----+---------+-------+ | set1  | set('x','y','z')          | NO   |     | NULL    |       | | enum1 | enum('one','two','three') | NO   |     | NULL    |       | +-------+---------------------------+------+-----+---------+-------+ mysql> insert into db_set values(1,3),(1,4),(4,1); Query OK, 3 rows affected, 1 warning (0.00 sec) Records: 3  Duplicates: 0  Warnings: 1 mysql> select * from db_set ; +------+-------+ | set1 | enum1 | +------+-------+ | x    | three | | x    |       | | z    | one   | +------+-------+ 3 rows in set (0.01 sec)  
这里我们看到了它们的输出结果,我当时也是很不解后来才知道: [b]set类型中对于超出它能表示的范围的,就用二进制来加去: [/b][b]Set元素 [/b] 十进制  二进制 ‘x'  1  0001 ‘y'  2  0010 ‘z'  4  0100 [b]enum类型超出自己能表示的范围,就附空值了: [/b][b]enum元素 [/b] 索引 null  null ‘'  0 ‘one'  1 ‘two'  2 ‘three'  3 现在大家明白了吧。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部