MySQL-常見資料型別介紹
阿新 • • 發佈:2020-09-21
常見資料型別介紹
數值型:
整形
小數:
定點數
浮點數
字元型:
較短的文字:char、varchar
較長的文字:text、blob(較長的二進位制資料)
日期型
一、整形
分類:
tinyint | smallint | mediumint | int/integer | bigint | |
---|---|---|---|---|---|
位元組大小 | 1 | 2 | 3 | 4 | 8 |
特點:
-
如果不設定無符號還是有符號,預設為有符號,如果設定無符號,需要在型別後新增unsigned關鍵字
-
如果插入的數值超出了整形的範圍,會報out of range異常,並插入臨界值
-
如果不設定長度,會有預設長度
長度代表了顯示的最大寬度,如果搭配使用zerofill使用,如果不夠會用0在左邊填充
二、小數
分類:
-
浮點型
float(M,D)
double(M,D)
-
定點型
dec(M,D)
decimal(M,D)
特點:
①
M:整數部分+小數部分位數
D:小數部分位數
②
M和D都可以省略
如果是decimal,則M預設為10,D預設為0
如果是float和double,則會根據插入的數值精度來決定精度
③定點型的精確度較高,如果要求插入數值的精度較高如貨幣運算等則考慮使用
原則
所選擇的型別越簡單越好,能儲存的數值的型別越小越好
三、字元型
較短的文字:char、varchar
較長的文字:text、blob(較長的二進位制資料)
其他:
binary和varbinary用於儲存較短的二進位制
enum用於設定列舉
set用於設定集合
特點:
寫法 | M的意思 | 特點 | 空間的耗費 | 效率 | |
---|---|---|---|---|---|
char | char(M) | 最大的字元數,可以省略,預設為1 | 固定長度的字元 | 比較耗費 | 高 |
varchar | varchar(M) | 最大的字元數,不可以省略 | 可變長度的字元 | 比較節省 | 低 |
四、日期型
分類:
date 只儲存日期
time 只儲存時間
year 只儲存年份
datetime 儲存日期+時間
ttimestamp 儲存日期+時間
特點:
位元組 | 範圍 | 時區等的影響 | |
---|---|---|---|
datetime | 8 | 1000-9999 | 不受 |
timestamp | 4 | 1970-2038 | 受 |