MySQL的幾種數據類型
在 MySQL 中,有三種主要的類型:文本、數字和日期/時間類型。
Text 類型:
數據類型 描述
CHAR(size) 保存固定長度的字符串(可包含字母、數字以及特殊字符)。在括號中指定字符串的長度。最多 255 個字符。
VARCHAR(size)
保存可變長度的字符串(可包含字母、數字以及特殊字符)。在括號中指定字符串的最大長度。最多 255 個字符。
注釋:如果值的長度大於 255,則被轉換為 TEXT 類型。
www.2cto.com
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 可存儲一個以上的值。
Number 類型:
www.2cto.com
數據類型 描述
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 類型:
www.2cto.com
數據類型 描述
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
www.2cto.com
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。