《MYSQL數(shù)據(jù)庫mysql之set與enum的介紹》要點:
本文介紹了MYSQL數(shù)據(jù)庫mysql之set與enum的介紹,希望對您有用。如果有疑問,可以聯(lián)系我們。
set,enum的數(shù)據(jù)類型都是字符串類型的對象,其中set最多可以包括64個元素,并且可以任意取到集合中的元素.而enum則是只能取到集合中的木一個元素,最多包括65536個元素,也就是說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','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)
?
這里我們看到了它們的輸出結(jié)果,我當(dāng)時也是很不解后來才知道:
set類型中對于超出它能表示的范圍的,就用二進制來加去:
Set元素
?十進制
?二進制
‘x'
?1
?0001
‘y'
?2
?0010
‘z'
?4
?0100
enum類型超出本身能表示的范圍,就附空值了:
enum元素
?索引
null
?null
‘'
?0
‘one'
?1
‘two'
?2
‘three'
?3
現(xiàn)在大家明白了吧.
《MYSQL數(shù)據(jù)庫mysql之set與enum的介紹》是否對您有啟發(fā),歡迎查看更多與《MYSQL數(shù)據(jù)庫mysql之set與enum的介紹》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/9918.html