八、一篇文章快速搞懂MySQL 常见的数据类型(整型、小数、字符型、日期型详解)
常見的數(shù)據(jù)類型
1、數(shù)值型:
整型
小數(shù):
定點數(shù)
浮點數(shù)
2、字符型:
較短的文本:char、varchar
較長的文本:text、blob(較長的二進(jìn)制數(shù)據(jù))
3、日期型:
一、整型
1)分類:
tinyint、smallint、mediumint、int/integer、bigint
1 2 3 4 8
2)特點:
① 如果不設(shè)置無符號還是有符號,默認(rèn)是有符號,如果想設(shè)置無符號,需要添加unsigned關(guān)鍵字
② 如果插入的數(shù)值超出了整型的范圍,會報out of range異常,并且插入臨界值
③ 如果不設(shè)置長度,會有默認(rèn)的長度。長度代表了顯示的最大寬度,如果不夠會用0在左邊填充,但必須搭配zerofill使用!
二、小數(shù)
分類:
1.浮點型
float(M,D)
double(M,D)
2.定點型
dec(M,D)
decimal(M,D)
特點:
①
M:整數(shù)部分的位數(shù) + 小數(shù)部分的位數(shù)(可以理解為數(shù)值的總長度為M)
D:小數(shù)部分的位數(shù)(可以理解為保留D位小數(shù))
如果超過范圍,則插入臨界值
②
M和D都可以省略
如果是decimal,則M默認(rèn)為10,D默認(rèn)為0
如果是float和double,則會根據(jù)插入的數(shù)值的精度來決定精度
③定點型的精確度較高,如果要求插入數(shù)值的精度較高,如貨幣運算等則考慮使用
#測試M和DDROP TABLE tab_float; CREATE TABLE tab_float(f1 FLOAT,f2 DOUBLE,f3 DECIMAL ); SELECT * FROM tab_float; DESC tab_float;INSERT INTO tab_float VALUES(123.4523,123.4523,123.4523); INSERT INTO tab_float VALUES(123.456,123.456,123.456); INSERT INTO tab_float VALUES(123.4,123.4,123.4); INSERT INTO tab_float VALUES(1523.4,1523.4,1523.4);選擇數(shù)據(jù)類型的基本原則:
所選擇的類型越簡單越好,能保存數(shù)值的類型越小越好
三、字符型
1)較短的文本:
-
char
-
varchar
-
其他:
binary和varbinary用于保存較短的二進(jìn)制
enum用于保存枚舉
set用于保存集合
2)較長的文本:
- text
- blob(較大的二進(jìn)制)
特點:
| char(M) | 最大的字符數(shù),可以省略,默認(rèn)為1 | 固定長度的字符 | 比較耗費 | 高 |
| varchar(M) | 最大的字符數(shù),不可以省略 | 可變長度的字符 | 比較節(jié)省 | 低 |
四、日期型
分類:
date只保存日期
time 只保存時間
year只保存年
datetime保存日期+時間
timestamp保存日期+時間
特點:
| datetime | 8 | 1000——9999 | 不受 |
| timestamp | 4 | 1970-2038 | 受 |
總結(jié)
以上是生活随笔為你收集整理的八、一篇文章快速搞懂MySQL 常见的数据类型(整型、小数、字符型、日期型详解)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一、css清除浮动方法学习笔记总结(超详
- 下一篇: linux cmake编译源码,linu