二、日期時間型別
三、字串型別
資料型別用來指定一定的儲存格式、約束和有效範圍。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 欄位上的索引效...