在 MySQL 中,有三種主要的類型:文本、數字和日期/時間類型。
資料類型
描述
CHAR(size)
儲存固定長度的字元串(可包含字母、數字以及特殊字元)。在括号中指定字元串的長度。最多 255 個字元。
VARCHAR(size)
儲存可變長度的字元串(可包含字母、數字以及特殊字元)。在括号中指定字元串的最大長度。最多 255 個字元。
注釋:如果值的長度大于 255,則被轉換為 TEXT 類型。
TINYTEXT
存放最大長度為 255 個字元的字元串。
TEXT
存放最大長度為 65,535 個字元的字元串。
BLOB
用于 BLOBs (Binary Large OBjects)。存放最多 65,535 位元組的資料。
MEDIUMTEXT
存放最大長度為 16,777,215 個字元的字元串。
MEDIUMBLOB
用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 位元組的資料。
LONGTEXT
存放最大長度為 4,294,967,295 個字元的字元串。
LONGBLOB
用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 位元組的資料。
ENUM(x,y,z,etc.)
允許你輸入可能值的清單。可以在 ENUM 清單中列出最大 65535 個值。如果清單中不存在插入的值,則插入空值。
注釋:這些值是按照你輸入的順序存儲的。
可以按照此格式輸入可能的值:ENUM('X','Y','Z')
SET
與 ENUM 類似,SET 最多隻能包含 64 個清單項,不過 SET 可存儲一個以上的值。
TINYINT(size)
-128 到 127 正常。0 到 255 無符号*。在括号中規定最大位數。
SMALLINT(size)
-32768 到 32767 正常。0 到 65535 無符号*。在括号中規定最大位數。
MEDIUMINT(size)
-8388608 到 8388607 普通。0 to 16777215 無符号*。在括号中規定最大位數。
INT(size)
-2147483648 到 2147483647 正常。0 到 4294967295 無符号*。在括号中規定最大位數。
BIGINT(size)
-9223372036854775808 到 9223372036854775807 正常。0 到 18446744073709551615 無符号*。在括号中規定最大位數。
FLOAT(size,d)
帶有浮動小數點的小數字。在括号中規定最大位數。在 d 參數中規定小數點右側的最大位數。
DOUBLE(size,d)
帶有浮動小數點的大數字。在括号中規定最大位數。在 d 參數中規定小數點右側的最大位數。
DECIMAL(size,d)
作為字元串存儲的 DOUBLE 類型,允許固定的小數點。
* 這些整數類型擁有額外的選項 UNSIGNED。通常,整數可以是負數或正數。如果添加 UNSIGNED 屬性,那麼範圍将從 0 開始,而不是某個負數。
DATE()
日期。格式:YYYY-MM-DD
注釋:支援的範圍是從 '1000-01-01' 到 '9999-12-31'
DATETIME()
*日期和時間的組合。格式:YYYY-MM-DD HH:MM:SS
注釋:支援的範圍是從 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'
TIMESTAMP()
*時間戳。TIMESTAMP 值使用 Unix 紀元('1970-01-01 00:00:00' UTC) 至今的描述來存儲。格式:YYYY-MM-DD HH:MM:SS
注釋:支援的範圍是從 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC
TIME()
時間。格式:HH:MM:SS 注釋:支援的範圍是從 '-838:59:59' 到 '838:59:59'
YEAR()
2 位或 4 位格式的年。
注釋:4 位格式所允許的值:1901 到 2155。2 位格式所允許的值:70 到 69,表示從 1970 到 2069。
* 即便 DATETIME 和 TIMESTAMP 傳回相同的格式,它們的工作方式很不同。在 INSERT 或 UPDATE 查詢中,TIMESTAMP 自動把自身設定為目前的日期和時間。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。
本文轉自許琴 51CTO部落格,原文連結:http://blog.51cto.com/xuqin/977194,如需轉載請自行聯系原作者