MySQL數據庫提供一系列的邏輯型數據類型,可以使用它們來存儲布爾值、日期和時間、文本和枚舉值。下面我們來詳細介紹一下這些數據類型。
BIT – 存儲布爾值 BIT數據類型被用來存儲布爾值,可以存儲單個位或者一串位。可選長度參數表示二進制串的長度(這里的長度代表位的數量而非字節的數量)。 例子: CREATE TABLE test (flag BIT(1)); INSERT INTO test (flag) VALUES (1), (0), (1); SELECT * FROM test; -- 結果: 1, 0, 1
DATE / TIME / DATETIME – 存儲日期和時間 這些數據類型用于存儲日期和時間相關的信息。應該盡量避免使用字符串類型來存儲日期和時間數據。有一個“零”的日期值來表示一個不確定的日期,比如:即將到來的生日等等。 例子: CREATE TABLE test (dt DATE, ts TIMESTAMP, dt_time DATETIME); INSERT INTO test (dt, ts, dt_time) VALUES ('2017-01-01', '2017-01-01 10:10:10', '2017-01-01 10:10:10'); SELECT * FROM test; -- 結果: 2018-01-01, 2018-01-01 10:10:10, 2018-01-01 10:10:10
ENUM - 枚舉類型 ENUM數據類型用于枚舉類型的數據存儲。在創建表格的時候,枚舉類型的數據值最好設置一個合適的值范圍。不過,在修改表格時想要添加新值會相當麻煩,因此建議在未來預留足夠的空間。 例子: CREATE TABLE test (level ENUM('easy', 'medium', 'hard')); INSERT INTO test (level) VALUES ('easy'), ('medium'), ('hard'); SELECT * FROM test; -- 結果: easy, medium, hard
SET - 集合類型 SET數據類型用于集合類型的數據存儲。在SET中每個值都可以采用二進制的方式進行存儲和讀取。在創建表單時應該選擇SET中包含的一些項,并注意集合中包含了哪些項。 例子: CREATE TABLE test (options SET('read', 'write', 'execute')); INSERT INTO test (options) VALUES ('read,write'); SELECT * FROM test; -- 結果: read, write
上一篇3秒html跳轉代碼
下一篇dockerawk