1、數值型 類型 範圍、小數位數 TINYINT (-128,127) SMALLINT 正負3w+ MEDIUMINT 正負800w+ INT 正負21億+ BIGINT 正負900千萬億+ FLOAT 單精度 10的-38次方 DOUBLE 雙精度 10的-308次方 DECIMAL 定點型(小 ...
1、數值型
類型 | 範圍、小數位數 |
---|---|
TINYINT | (-128,127) |
SMALLINT | 正負3w+ |
MEDIUMINT | 正負800w+ |
INT | 正負21億+ |
BIGINT | 正負900千萬億+ |
FLOAT 單精度 | 10的-38次方 |
DOUBLE 雙精度 | 10的-308次方 |
DECIMAL 定點型(小數點 位置固定) |
整型可以指定最大位數,比如int(11),不設置則預設為可存儲的最大位數
浮點型(包括decimal)可以指定精度、標度,比如double(10,2),最長10位,小數2位(超出會四捨五入)
2、字元串
類型 | 最大位元組數 |
CHAR 定長字元串 | 255 |
VARCHAR 變長字元串 | 6w+ |
TINYTEXT | 255 |
TEXT | 6w+ |
MEDIUMTEXT | 1千萬+ |
LONGTEXT | 42億+ |
TINYBLOB 二進位 | 255 |
BLOB | 6w+ |
MEDIUMBLOB | 1千萬+ |
LONGBLOB | 42億+ |
char 定長字元串,比如char(10),不夠10個字元,自動在後面補空格
varchar 可變字元串,字元串長度可變、不固定,比如varchar(10),最多10個字元
二進位數據是以二進位字元串的形式存儲的
3、日期時間
類型 | 能表示的時間範圍 |
---|---|
YEAR yyyy | 1901 至 2155 |
DATE yyyy-MM-dd | 1000-01-01 至 9999-12-31 |
TIME hh:mm:ss | |
DATETIME yy-MM-dd hh:mm:ss | 1000-01-01 00:00:00 至 9999-12-31 23:59:59 |
TIMESTAMP 時間戳 |
1970-01-01 00:00:00 至 2038 結束時間是第 2147483647 秒,北京時間 2038-1-19 11:14:07,格林尼治時間 2038年1月19日 凌晨 03:14:07 |
時間日期列的值都要引起來,單引、雙引均可
雖然timestamp叫做時間戳,但值是yyyy-mm-dd hh:mm:ss的格式,示例:insert into tb_user (birthday) values ('2019-02-02 09:02:20'); 查詢到的也是這種格式
timestamp預設單位秒