tinyint(小整型):一個字節數據庫
int(整型): 四個字節。注意:int的 寬度指的是顯示的寬度,與存儲無關spa
有符號: -2147483648 ~ 2147483647 無符號:0~ 4294967295
bigint(大整形):八個字節code
有符號:-9223372036854775808 ~ 9223372036854775807 無符號: 0~ 18446744073709551615
float:在位數比較短的狀況下不精準(**** 數值越大,越不許確 ****)blog
double:在位數比較長的狀況下不精準(**** 數值越大,越不許確 ****)ci
decimal:若是是小數,則推薦使用decimalrem
由於精準,內部原理是以字符串的形式去存字符串
最後: 整形類型,其實沒有必要指定顯示寬度,使用默認的就oktable
char:
固定長度,不夠就用空格湊夠固定長度存放起來,
浪費空間,可是存儲速度快
varchar:
不固定長度,計算出待存放數據的長度,
精準,節省空間,存取速度慢
datetime:class
2017-09-06 10:30:22原理
date:
2017-09-06
time:
10:30:22
year:
2017
timeatamp:
和datatime是同樣的,就是支持的範圍datatime的大
使用場景:
單選框,多選框
enum枚舉:
規定一個範圍:這個範圍能夠有多個,可是爲該字段傳值時,只能取規定範圍內的其中一個
enum若是你不傳值,默認是第一個值,或者爲NUll
set集合:
規定一個範圍:這個範圍能夠有多個,可是爲該字段傳值時,能夠取規定範圍內的一個或多個
----------枚舉和集合----------- create table stu1( id int primary key auto_increment, name char(5),
sex enum('male','female'), #enum 表明枚舉類型 hobbies set('eat','play','study','coding') #set 表明集合類型 );
insert into stu1(name,sex,hobbies) values('haiyan','none','dsfdg');
select * from stu1; #若是設置了sex是枚舉類型,就的從設定的裏面選其中的一個存 insert into stu1(name,sex,hobbies) values('haiyan','female','play,study'); select * from stu1; #若是設置了hobbies是集合類型,就得從設定的裏面選其中一個或者多個值來存