MYSQL数据库mysql之set与enum的介绍
发布时间:2020-12-12 02:54:37 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL数据库mysql之set与enum的介绍》要点: 本文介绍了MYSQL数据库mysql之set与enum的介绍,希望对您有用。如果有疑问,可以联系我们。 set,enum的数据类型都是字符串类型的对象 ,其中set最多可以包括64个元素,并且可以任意取到集合中的元素.而enum则是只
《MYSQL数据库mysql之set与enum的介绍》要点: 这里我们来比较下他们之间相同点和不同点: 代码如下: 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','z')????????? | NO?? |???? | NULL??? |?????? | | enum1 | enum('one','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) ? 这里我们看到了它们的输出结果,我当时也是很不解后来才知道: set类型中对于超出它能表示的范围的,就用二进制来加去: Set元素 ?十进制 ?二进制 ‘x' ?1 ?0001 ‘y' ?2 ?0010 ‘z' ?4 ?0100 enum类型超出本身能表示的范围,就附空值了: enum元素 ?索引 null ?null ‘' ?0 ‘one' ?1 ‘two' ?2 ‘three' ?3 现在大家明白了吧. 《MYSQL数据库mysql之set与enum的介绍》是否对您有启发,欢迎查看更多与《MYSQL数据库mysql之set与enum的介绍》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |