mysql資料庫資料型別彙總

2021-10-07 08:56:21 字數 3073 閱讀 6901

整數型別

型別名稱

說明範圍

儲存需求

tinyint

很小的整數

-128〜127

1個位元組

smallint

小的整數

-32768〜32767

2個位元組

mediumint

中等大小的整數

-8388608〜8388607

3個位元組

int (integhr)

普通大小的整數

-2147483648〜2147483647

4個位元組

bigint

大整數-9223372036854775808〜9223372036854775807

8個位元組

小數型別

型別名稱

說明範圍

儲存需求

float

單精度浮點數

4 個位元組

double

雙精度浮點數

8 個位元組

decimal (m, d),dec

壓縮的「嚴格」定點數

decimal 如果不指定精度,預設為(10,0)。

m+2 個位元組

浮點數在長度一定時可以比定點數表示更大的範圍,但有可能引起精度的問題

日期型別

型別名稱

日期格式

日期範圍

儲存需求

year

yyyy

1901 ~ 2155

1 個位元組

time

hh:mm:ss

-838:59:59 ~ 838:59:59

3 個位元組

date

yyyy-mm-dd

1000-01-01 ~ 9999-12-3

3 個位元組

datetime

yyyy-mm-dd hh:mm:ss

1000-01-01 00:00:00 ~ 9999-12-31 23:59:59

8 個位元組

timestamp

yyyy-mm-dd hh:mm:ss

1980-01-01 00:00:01 utc ~ 2040-01-19 03:14:07 utc

4 個位元組

year型別

是乙個單位元組型別,用於表示年,在儲存時只需要乙個位元組。

time型別

用於只需要時間資訊的值,在儲存時需要3個位元組。格式為hh:mm:ss。hh表示小時,mm表示分鐘,ss表示秒。

time 型別的取值範圍為 -838:59:59~838:59:59,小時部分如此大的原因是 time 型別不僅可以用於表示一天的時間(必須小於 24 小時),還可能是某個事件過去的時間或兩個事件之間的時間間隔(可大於 24 小時,或者甚至為負)。

可以使用各種格式指定 time 值,如下所示。

date型別

用於僅需要日期值時,沒有時間部分,在儲存時需要3個位元組。日期格式為 'yyyy-mm-dd',其中 yyyy 表示年,mm 表示月,dd 表示日。

datetime型別

用於需要同時包含日期和時間資訊的值,在儲存需要8個位元組,日期格式為 'yyyy-mm-dd hh:mm:ss',其中 yyyy 表示年,mm 表示月,dd 表示日,hh 表示小時,mm 表示分鐘,ss 表示秒。

timestamp型別

顯示格式與datetime相同,顯示寬度固定在 19 個字元,日期格式為 yyyy-mm-dd hh:mm:ss,在儲存時需要 4 個位元組。

與datetime的區別

datetime的取值範圍更大,儲存所需位元組更小,但是timestamp可以根據地區不同自動轉換時區。

型別名稱

型別名稱

說明儲存需求

char(m)

固定長度非二進位制字串

m 位元組,1<=m<=255

varchar(m)

變長非二進位制字串

l+1位元組,在此,l< = m和 1<=m<=255

tinytext

非常小的非二進位制字串

l+1位元組,在此,l<2^8

text

小的非二進位制字串

l+2位元組,在此,l<2^16

mediumtext

中等大小的非二進位制字串

l+3位元組,在此,l<2^24

longtext

大的非二進位制字串

l+4位元組,在此,l<2^32

enum

列舉型別,只能有乙個列舉字串值

1或2個位元組,取決於列舉值的數目 (最大值為65535)

set乙個設定,字串物件可以有零個或 多個set成員

1、2、3、4或8個位元組,取決於集合 成員的數量(最多64個成員

varchar或text是變長字段,在儲存時會在儲存需要的字元後新增乙個位元組記錄字元長度

enum和set的區別:enum只能從定義的列值中選擇乙個值,而set可以選擇多個組合插入資料表

二進位制資料

型別名稱

說明儲存需求

bit(m)

位欄位型別

大約 (m+7)/8 位元組

binary(m)

固定長度二進位制字串

m 位元組

varbinary (m)

可變長度二進位制字串

m+1 位元組

tinyblob (m)

非常小的blob

l+1 位元組,在此,l<2^8

blob (m)

小 blob

l+2 位元組,在此,l<2^16

mediumblob (m)

中等大小的blob

l+3 位元組,在此,l<2^24

longblob (m)

非常大的blob

l+4 位元組,在此,l<2^32

mysql資料庫資料型別

1 數值型別 類 型大 小 範圍 有符號 範圍 無符號 用 途tinyint 1 位元組 128 127 0 255 微小整數 smallint 2 位元組 32768 32767 0 65535 小整數mediumint 3 位元組 223 223 1 0 2 24 1 中整數int 4 位元組 ...

mysql資料型別彙總

資料型別 位元組長度 範圍或用法 bigint 8無符號 0,2 64 1 有符號 2 63 2 63 1 binary m m類似char的二進位制儲存,只包含byte串而非字串,它們沒有字符集的概念,排序和比較操作都是基於位元組的數字值 bit1 無符號 0,255 有符號 128,127 bl...

MySQL資料型別(彙總)

mysql資料型別 數值型別型別 大小範圍 有符號 範圍 無符號 用途tinyint 1位元組 128,127 0,255 小整數值 smallint 2位元組 32768,32767 0,65535 大整數值 mediumint 3位元組 2147483648,2147483647 0,16777...