資料庫筆記5 資料型別

2021-09-26 22:59:22 字數 2655 閱讀 7849

二、日期時間型別

三、字串型別

資料型別用來指定一定的儲存格式、約束和有效範圍。mysql支援的資料型別非常多,主要包括數值型、字串型別、日期和時間型別。

選擇正確的資料型別對於獲得高效能至關重要。

整數型別

位元組最小值

最大值tinyint

1有符號-128、無符號0

有符號127 無符號255

smallint

2有符號-32768、無符號0

有符號32767 無符號65535

mediumint

3有符號-8388608、無符號0

有符號8388607、無符號1677215

int、integer

4有符號-2147483648、無符號0

有符號2147483647、無符號4294967295

bigint

8有符號-9223372036854775808、無符號0

有符號9223372036854775807、無符號18446744073709551615

每種整數型別都有取值範圍,超出型別範圍的操作會導致"out of range"錯誤提示。

整型資料,mysql還支援在型別名稱後面的小括號內指定顯示寬度,如int(5)表示當數值寬度小於5時在數字前面填滿寬度,如果不顯示指定寬度則預設為int(11)。一般配合zerofill使用,顧名思義,zerofill就是用"0"填充的意思,在數字位數不夠的空間用字元"0"填滿。寬度格式不會對實際資料有任何影響,還是按照型別的實際精度進行儲存。

如果乙個列指定為zerofill,則mysql自動為該列新增unsigned屬性。

對於小數的表示, mysql分為兩種方式:浮點數和定點數。浮點數包括 float(單精度)和 double(雙精度),而定點數則只有decimal一種表示。定點數在內部以字串形式存放,比浮點數更精確,適合用來表示貨幣等精度高的資料。

浮點數和定點數都可以用型別名稱後加「(m,d)」的方式來進行表示,「(m,d)」表示該值一共顯示m位數字(整數字+小數字),其中d位位於小數點後面,m和d又稱為精度和標度。例如,定義為 float(7,4)的乙個列可以顯示為-999.9999。mysql儲存值時進行四捨五入,因此如果在float(7,4) 列內插入9.00009,近似結果是999.0001。值得注意的是,浮點數後面跟「(m,d)」的用法是非標準用法,如果要用於資料庫的遷移,則最好不要這麼使用。 float和 double在不指定精度時,缺省會按照實際的精度由實際的硬體和作業系統決定)來顯示,而 decimal在不指定精度時,預設的整數字為10,預設的小數字為0。

浮點數型別

位元組最小值

最大值float

4±1.175494351e-38

±3.402823466e+38

double

8±2.2250738585072014e-308

±1.7976931348623157e+308

dec(m,d), decimal(m,d)

m+2最大範圍與double相同,給定decimal的有效取值範圍由m和d決定

bit(m)型別,用於存放位字段值,bit(m)可以用來存放多位二進位制數,m範圍從1~64,如果不寫則預設為1位。

位型別位元組

最小值最大值

bit(m)

1~8bit(1)

bit(64)

日期和時間型別

位元組零值表示

最小值最大值

date

40000-00-00

1000-01-01

9999-12-31

datetime

80000-00-00 00:00:00

1000-01-01 00:00:00

9999-12-31 23:59:59

timestamp

400000000000000

19700101080001

2023年的某個時刻

time

300:00:00

-838:59:59

838:59:59

year

10000

1901

2155

字串型別

位元組描述及儲存需求

char(m)

mm為0~255之間的整數

varchar(m)

m為0~65536之間的整數,值得長度+1個位元組

tinyblob

允許長度0~255位元組,值得長度+1個位元組

blob

允許長度0~65535位元組,值得長度+2個位元組

meduimblob

允許長度0~167772150位元組,值得長度+3個位元組

longblob

允許長度0~4294967295,值得長度+4個位元組

tinytext

允許長度0~255位元組,值得長度+2個位元組

text

允許長度0~65535位元組,值得長度+2個位元組

mediumtext

允許長度0~167772150位元組,值得長度+3個位元組

longtext

允許長度0~4294967295位元組,值得長度+4個位元組

varbinary(m)

允許長度0~m個位元組的邊長位元組字符集,值得長度+1個位元組

binary(m)

m允許長度0~m個位元組的定長位元組字符集

資料庫資料型別筆記

原文 文字 char varchar text char 儲存固定長度資料,char索引效率高,比如定義char 10 那麼不論儲存的資料是否達到了10個位元組,都要占去10個位元組,不足的部分使用空格填充。varchar 儲存不定長度資料,varchar實際長度是儲存值的長度 1,這乙個位元組用於...

資料庫資料型別

一 string型別 1 char n 固定長度,最多8000字元 2 varchar n 可變長度,最多8000字元 3 varchar max 可變長度,最多1073741824字元 4 text 可變長度,最多2gb文字資料 5 nchar 固定長度的unicode,最多4000字元 6 nv...

資料庫資料型別

char varchar text ntext bigint int smallint tinyint 和bit 的區別及資料庫的資料型別 基礎 char varchar text 和nchar nvarchar ntext 的區別1 char char 儲存定長資料很方便,char 欄位上的索引效...