MYSQL數(shù)據(jù)庫常用基本數(shù)據(jù)類型

在 MySQL 中,有三種主要的類型:Text(文本)、Number(數(shù)字)和 Date/Time(日期/時間)類型。
Text 類型:

數(shù)據(jù)類型 描述 長度是否固定
CHAR(size) 保存固定長度的字符串(可包含字母、數(shù)字以及特殊字符)。在括號中指定字符串的長度。最多 255 個字符。
VARCHAR(size) 保存可變長度的字符串(可包含字母、數(shù)字以及特殊字符)。在括號中指定字符串的最大長度。最多 255 個字符。如果值的長度大于 255,則被轉換為 TEXT 類型。
TINYTEXT 存放最大長度為 255 個字符的字符串。
TEXT 存放最大長度為 65,535 個字符的字符串。
BLOB 用于 BLOBs(Binary Large OBjects)。存放最多 65,535 字節(jié)的數(shù)據(jù)。
MEDIUMTEXT 存放最大長度為 16,777,215 個字符的字符串。
MEDIUMBLOB 用于 BLOBs(Binary Large OBjects)。存放最多 16,777,215 字節(jié)的數(shù)據(jù)
LONGTEXT 存放最大長度為 4,294,967,295 個字符的字符串。
LONGBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字節(jié)的數(shù)據(jù)。
ENUM(x,y,z,etc.) 允許您輸入可能值的列表??梢栽?ENUM 列表中列出最大 65535 個值。如果列表中不存在插入的值,則插入空值。這些值是按照您輸入的順序排序的。可以按照此格式輸入可能的值ENUM('X','Y','Z')
SET 與 ENUM 類似,不同的是,SET 最多只能包含 64 個列表項且 SET 可存儲一個以上的選擇。

Number 類型:

數(shù)據(jù)類型 描述 占用字節(jié)數(shù)
TINYINT(size) -128 到 127 常規(guī)。0 到 255 無符號*。在括號中規(guī)定最大位數(shù)。 1字節(jié)
SMALLINT(size) -32768 到 32767 常規(guī)。0 到 65535 無符號*。在括號中規(guī)定最大位數(shù)。 2字節(jié)
MEDIUMINT(size) -8388608 到 8388607 普通。0 to 16777215 無符號*。在括號中規(guī)定最大位數(shù)。 3字節(jié)
INT(size) -2147483648 到 2147483647 常規(guī)。0 到 4294967295 無符號*。在括號中規(guī)定最大位數(shù)。 4字節(jié)
BIGINT(size) -9223372036854775808 到 9223372036854775807 常規(guī)。0 到 18446744073709551615 無符號*。在括號中規(guī)定最大位數(shù)。 8字節(jié)
FLOAT(size,d) 帶有浮動小數(shù)點的小數(shù)字。在 size 參數(shù)中規(guī)定最大位數(shù)。在 d 參數(shù)中規(guī)定小數(shù)點右側的最大位數(shù)。 4字節(jié)
DOUBLE(size,d) 帶有浮動小數(shù)點的大數(shù)字。在 size 參數(shù)中規(guī)定最大位數(shù)。在 d 參數(shù)中規(guī)定小數(shù)點右側的最大位數(shù)。 8字節(jié)
DECIMAL(size,d) 作為字符串存儲的 DOUBLE 類型,允許固定的小數(shù)點。在 size 參數(shù)中規(guī)定最大位數(shù)。在 d 參數(shù)中規(guī)定小數(shù)點右側的最大位數(shù)。 decimal是存儲為字符串的浮點數(shù)

*這些整數(shù)類型擁有額外的選項 UNSIGNED。通常,整數(shù)可以是負數(shù)或正數(shù)。如果添加 UNSIGNED 屬性,那么范圍將從 0 開始,而不是某個負數(shù)。

Date 類型:

數(shù)據(jù)類型 描述 占用字節(jié)數(shù)
DATE() 日期。格式:YYYY-MM-DD 。注釋:支持的范圍是從 '1000-01-01' 到 '9999-12-31' 3字節(jié)
DATETIME() 日期和時間的組合。格式:YYYY-MM-DD HH:MM:SS注釋:*支持的范圍是從 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' 8字節(jié)
TIMESTAMP() 時間戳。TIMESTAMP 值使用 Unix 紀元('1970-01-01 00:00:00' UTC) 至今的秒數(shù)來存儲。格式:YYYY-MM-DD HH:MM:SS注釋:*支持的范圍是從 '1970-01-01 00:00:01' UTC 到 '2038-01-09 03:14:07' UTC 4字節(jié)
TIME() 時間。格式:HH:MM:SS注釋:支持的范圍是從 '-838:59:59' 到 '838:59:59' 3字
YEAR() 2 位或 4 位格式的年。注釋:4 位格式所允許的值:1901 到 2155。2 位格式所允許的值:70 到 69,表示從 1970 到 2069。 1字節(jié),代表年份。

*即便 DATETIME 和 TIMESTAMP 返回相同的格式,它們的工作方式很不同。在 INSERT 或 UPDATE 查詢中,TIMESTAMP 自動把自身設置為當前的日期和時間。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容