現在做的專案在用mysql,這裡總結一下mysql的資料型別。
1.整數
可選引數m表示查詢結果中資料列的最大顯示寬度,對取值沒有影響.
資料型別
範圍(有符號)
範圍(無符號)
儲存需求
tinyint(m)
-128~127(2^7-1)
0~255(2^8-1)
8位整數,佔1個位元組
smallint(m)
-32768~32767(2^15-1)
0~65535(2^16-1)
16位整數,佔2個位元組
mediumint(m)
-8388608~8388607(2^23-1)
0~16777215(2^24-1)
24位整數,佔3個位元組
int(m)
-2147483648~
2147483647(2^31-1)
0~4294967295(2^32-1)
32位整數,佔4個位元組
bigint(m)
-9223372036854775808~
9223372036854775807(2^63-1)
0
~18446744073709551615
(2^64-1)
64位整數,佔8個位元組
2.浮點數
m是十進位制數的總個數(包括小數點後面數字的個數),d是小數點後面的數字個數,m>=d,引數m只顯示數值的顯示效果,對數值的精度沒有影響,引數d會對數值作四捨五入,比如float(6,2)或double(6,2),如果插入1111.1254,則會取值1111.13;如果插入1111.1244,則會取值1111.12;如果插入的數字在擷取小數後長度超過總長度m,比如插入11211.1254,則會出錯,插入的數字變成總長度為m、小數點後面位數為d的最大數字,也就是9999.99。
下面的範圍只是理論值,具體值與硬體或作業系統有關。
資料型別 範圍
說明float[(m,d)]
-3.402823466e+38 ~ -1.175494351e-38, 0,和1.175494351e-38 ~ 3.402823466e+38
8位精度,佔4個位元組
double[(m,d)]
-1.7976931348623157e+308 ~ - 2.2250738585072014e-308, 0,和2.2250738585072014e-308~ 1.7976931348623157e+308
16位精度,佔8個位元組
3.定點數
資料型別 範圍
儲存需求
decimal[(m,d)]
m表示數字總個數,最大值是65,預設為0;
d表示小數點後面的數字總個數,最大值是30,預設為0;
以字串形式來存放定點數,m>=d,引數d會對數值作四捨五入,比如decimal(6,2),如果插入1111.1254,則會取值1111.13;
如果插入1111.1244,則會取值1111.12;
如果插入的數字在擷取小數後長度超過總長度m,比如插入11211.1254,則會出錯,插入的數字變成總長度為m、小數點後面位數為d的最大數字,也就是9999.99。
4.字串
資料型別 範圍
說明char(n)
最多2^8-1=255個字元
固定長度的字串
varchar(n)
最多2^16-1=65535個字元
可變長度的字串,varchar最大字元長度必須在宣告列時設定,超長的字串將在儲存時截斷。
tinytext
最多2^8-1=255個字元
可變長度的字串,不允許設定最大長度。
text
最多2^16-1=65535個字元
可變長度的字串,不允許設定最大長度。
mediumtext
最多2^24-1= 16777215個字元
可變長度的字串,不允許設定最大長度。
longtext
最多2^32-1= 4294967295個位元組,
可變長度的字串,不允許設定最大長度。
5.二進位制
資料型別 範圍
說明bit(n)
最多64位
存放二進位制資料,n是二進位制的位數.
tinyblob
最多2^8-1=255個位元組
可變長度二進位制資料
blob
最多2^16-1=65535個位元組
可變長度二進位制資料
mediumblob
最多2^24-1= 16777215個位元組
可變長度二進位制資料
longblob
最多2^32-1= 4294967295個位元組
可變長度二進位制資料
6.日期與時間
資料型別 範圍
說明date
1000-01-01~9999-12-31
佔3個位元組,格式是yyyy-mm-dd
datetime
1000-01-01 00:00:00
~9999-12-31 23:59:59
佔8個位元組,格式是yyyy-mm-dd hh:mm:ss
timestamp
1970-01-01 00:00:00 ~ 2037
佔4個位元組,格式是yyyy-mm-dd hh:mm:ss;
不要選用timestamp資料列來儲存「真正的」日期/時間資料,那麼做的最佳選擇是datetime資料型別。
time
-838:59:59 ~ 838:59:59
佔3個位元組,格式是hh:mm:ss
year
1901 ~ 2155
佔1個位元組,格式是yyyy
7.集合
資料型別 範圍
說明enum
最多65535個成員
字串的排列集合。
set最多255個成員
字串的組合集合,不贊成使用enum或set作為資料型別,因為不方便資料遷移。
mysql資料型別用法 mysql資料型別和用法
歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...
mysql 資料型別 真假 MySQL 資料型別
mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...
mysql 郵箱 資料型別 mysql 資料型別
1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...