2020年4月27日 spa
8:22 code
一、整型
類型:blog |
字節大小索引 |
數值範圍ci |
Tinyinttable |
1class |
有符號:-128~127效率 無符號: 0~255date |
smallintfloat |
2 |
有符號:-32768~32767 無符號:0~65535 |
mediumint |
3 |
有符號:-8388608~8388607 無符號:0~16777215 |
Int,integer |
4 |
有符號:-2,147,483,648~2,147,483,647 無符號:0~4294967295 |
Bigint |
8 |
有符號:-9223372036854775808~9223372036854775807 無符號:18446744073709551615 |
特色:
- 若是不設置無符號仍是有符號,默認有符號,若是添加unsigned 添加關鍵字 就是無符號。
- 若是插入的數值超過了整形範圍,會報出out of range 異常,並插入臨界值
- 若是不設置長度,會使用默認長度
- 若是在長度設置的狀況下,能夠使用zerofill填充0用以完成字節長度填充。
案例:
create table tables_int( id int(7),ids int(7) unsigned); create table word(id mediumint zerofill,number tinyint zerofill);
二、小數類型
類型(浮點) |
字節大小 |
數值範圍 |
float |
4 |
有符號:-3.402823466E+38 ~-1.175494351E-38 無符號:0~1.175494351E-38、0~3.402823466E+38 |
double |
8 |
有符號:-1.797693 134 862 3157E+308~2.2250738555072014E-308 無符號:0~2.2250738555072014E-308,0~1.797693 134 862 3157E+308 |
類型(定點) |
字節大小 |
數值範圍 |
Decimal(M,D) |
m+2 |
有符號:-1.797693 134 862 3157E+308~2.2250738555072014E-308 無符號:0~2.2250738555072014E-308,0~1.797693 134 862 3157E+308 |
特色:
1、規定範圍的小數:
M:整數部分+小數部分
D:小數部分
二、省略MD:
若是是decimal那將會爲10
若是是float 或者 double 將會由輸入的數字的精度來決定
案例:
create table table_float(f1 float,f2 double,f3 decimal); create table table_float(f1 float(4,3),f2 double(4,3),f3 decimal(6,3));
三、字符型
類型 |
寫法 |
字節長度 |
空間消耗 |
效率 |
char |
Char(M) |
字節長度固定 |
高 |
高 |
varchar |
Varchar(M) |
字節長度不固定 |
低 |
低 |
特色:
char字節長度固定,不隨插入的數值變更,例如char(10),插入數據'中國',其字符大小仍爲10
varchar字節長度不固定,隨插入的數值變更,例如char(10),插入數據'中國',其字符大小爲2
四、枚舉類型
類型 |
數值範圍 |
索引 |
Enum(M1,M2,M3….) |
0~65535 |
從1開始 |
案例:
create table table_enum(id int,sex enum('男','女')); insert into table_enum values(1,'男'); insert into table_enum values(2,1); insert into table_enum values(3,2);
5、集合類型
案例:
create table table_set(id int,sex set('a','b','c','d')); insert into table_set values('1','a,b,c');
6、時間類型
類型 |
字節 |
最小值 |
最大值 |
date |
4 |
1000-1-1 |
9999-12-31 |
Datetime |
8 |
1000-1-1 00:00:00 |
9999-12-31 23:59:59 |
timestamp |
4 |
1970010108001 |
2038年某個時刻 |
time |
3 |
-838:59:59 |
838:59:59 |
year |
1 |
1901 |
2155 |
特色:
Datatime 與timestamp 區別點在於datatime忽略時區的影響,timestamp能夠更能反應本地時間。當時區改變時timestamp能自動根據當前時區調整數據。
案例:
create table table_time(id int,time datetime,time2 timestamp); insert into table_time values(1,now(),now());