程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql之set與enum的引見

mysql之set與enum的引見

編輯:MySQL綜合教程

mysql之set與enum的引見。本站提示廣大學習愛好者:(mysql之set與enum的引見)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql之set與enum的引見正文


set,enum的數據類型都是字符串類型的對象,個中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)
 

這裡我們看到了它們的輸入成果,我其時也是很不解後來才曉得:
set類型中關於超越它能表現的規模的,就用二進制來加去:
Set元素
 十進制
 二進制

‘x'
 1
 0001

‘y'
 2
 0010

‘z'
 4
 0100

enum類型超越本身能表現的規模,就附空值了:
enum元素
 索引

null
 null

‘'
 0

‘one'
 1

‘two'
 2

‘three'
 3

如今年夜家明確了吧。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved