MariaDB 資料型別

很簡單的東西,在官方手冊或是網路上也已經到處都有了相關資訊。
只是很多時候還是會忘記要查一下確切的內容,就記錄一下資訊吧!

數字型別 ( 整數 )

型別含負數範圍純正數範圍數字數量儲存空間
TINYINT-128
至 127
0 至 255281 位元組
SMALLINT-32,768
至 32,767
0 至 65,5352162 位元組
MEDIUMINT-8,388,608
至 8,388,607
0 至 16,777,2152243 位元組
INT-2,147,483,648
至 2,147,483,647
0 至 4,294,967,295
( 約 40 億 )
2324 位元組
BIGINT-9,223,372,036,854,775,808
至 9,223,372,036,854,775,807
0 至 18,446,744,073,709,551,615
( 約 18 京 / 1千8百萬兆 )
2648 位元組

數字型別 ( 小數 )

型別負數範圍正數範圍精準度儲存空間
FLOAT(M,D)-3.402823466E+38
至 -1.175494351E-38
1.175494351E-38
至 3.402823466E+38
浮點數
約小數點第 7 位
4 位元組
DOUBLE(M,D)-1.7976931348623157E+308
至 -2.2250738585072014E-308
2.2250738585072014E-308
至 1.7976931348623157E+308
浮點數
約小數點第 15 位
8 位元組
DECIMAL(M,D)依 M 與 D 的數值決定
M 最大為 65 / D 最大為 38
無誤差

型別設定中的 M 代表總位數(不包含負號與小數點),D 代表小數點以後的位數。
FLOAT 型別於進行計算的時候實際上是以 DOUBLE 型別。

數字型別 ( 位元 )

型別說明
BIT(M)位元欄位 ( 二進位制 )
M 最大為 64

文字型別 ( 文字 )

型別文字長度
CHAR(M)255 字元
VARCHAR(M)65,532 位元組
TINYTEXT255 位元組 ( 28 – 1 )
TEXT65,535 位元組 ( 216 – 1 )
MEDIUMTEXT16,777,215 位元組 ( 224 – 1 )
LONGTEXT4,294,967,295 位元組 ( 232 – 1 )

文字長度有字元跟位元組兩種不同的單位,以目前常用的 UTF-8 字元編碼情況來說一個中文字是 3 位元組的長度。
CHAR 跟 VARCHAR 型別的參數 M 單位是字元。

文字型別 ( 二進位 )

型別資料長度
BINARY(M)255 位元組
VARBINARY(M)65,532 位元組
TINYBLOB255 位元組 ( 28 – 1 )
BLOB65,535 位元組 ( 216 – 1 )
MEDIUMBLOB16,777,215 位元組 ( 224 – 1 )
LONGBLOB4,294,967,295 位元組 ( 232 – 1 )

文字型別 ( 其他 )

型別說明儲存空間
INET4IPv4 位址4 位元組
INET6IPv6 位址16 位元組
ENUM(‘value1’,’value2’…)於設定的項目清單中選擇其中一個項目為值,該清單最多可以有 65,535 個項目。2 位元組
SET(‘value1’,’value2’…)於設定的項目清單中選擇其中數個項目為值,該清單最多可以有 64 個項目。8 位元組
UUIDUUID 通用唯一標識碼16 位元組

ENUM 與 SET 實際上儲存的內容為整數,所以項目清單的順序原則上是不可以調整的,其使用的儲存空間會因為設定的項目數量而減少。

日期時間型別

型別說明範圍格式儲存空間
DATE日期1000-01-01
至 9999-12-31
YYYY-MM-DD3 位元組
TIME(P)時間-838:59:59
至 838:59:59
HH:MM:SS.ssssss3 位元組
DATETIME(P)日期時間1000-01-01 00:00:00
至 9999-12-31 23:59:59
YYYY-MM-DD HH:MM:SS.ssssss8 位元組
TIMESTAMP(P)日期時間1970-01-01 00:00:01
至 2038-01-19 03:14:07
2106-02-07 06:28:15 ( 11.5 以後版本 64 位元系統 )
時間是以 UTC+0 時區為準
YYYY-MM-DD HH:MM:SS.ssssss4 位元組
YEAR1901 至 2155 與 0000YYYY1 位元組

型別設定中的 P 代表微秒位數 ( 0 至 6 ),於有儲存微秒的情況下儲存空間最多會增加 3 位元組的使用量。
DATE 與 DATETIME 雖然文件說明的最小日期為 1000-01-01,不過實際測試類似 0099-01-01 這類以 0 開頭的年份是可以正常運作的。

作者:Richer

編輯日期:

發布日期:

分類:Database

發表留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料