5.4 數據庫數據類型
阿新 • • 發佈:2019-02-01
ron 形式 data val 字符串 字段 pan 枚舉類 col
數字(默認是有符號的)
整型:
tinyint(小整型):一個字節
int(整型): 四個字節。註意:int的 寬度指的是顯示的寬度,與存儲無關
有符號: -2147483648 ~ 2147483647 無符號:0~ 4294967295bigint(大整形):八個字節
有符號:-9223372036854775808 ~ 9223372036854775807 無符號: 0~ 18446744073709551615
小數:
float:在位數比較短的情況下不精準(**** 數值越大,越不準確 ****)
double:在位數比較長的情況下不精準(**** 數值越大,越不準確 ****)
decimal:如果是小數,則推薦使用decimal
因為精準,內部原理是以字符串的形式去存
最後: 整形類型,其實沒有必要指定顯示寬度,使用默認的就ok
字符
char:
固定長度,不夠就用空格湊夠固定長度存放起來,
浪費空間,但是存儲速度快
varchar:
不固定長度,計算出待存放數據的長度,
精準,節省空間,存取速度慢
日期
datetime:
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 代表枚舉類型 hobbiesset(‘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是集合類型,就得從設定的裏面選其中一個或者多個值來存
5.4 數據庫數據類型