2020年4月27日
8:22
1、整型
|
型別: |
位元組大小 |
數值范圍 |
|
Tinyint |
1 |
有符號:-128~127 無符號: 0~255 |
|
smallint |
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);
2、小數型別
|
型別(浮點) |
位元組大小 |
數值范圍 |
|
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:小數部分
2、省略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));
3、字符型
|
型別 |
寫法 |
位元組長度 |
空間消耗 |
效率 |
|
char |
Char(M) |
位元組長度固定 |
高 |
高 |
|
varchar |
Varchar(M) |
位元組長度不固定 |
低 |
低 |
特點:
char位元組長度固定,不隨插入的數值變動,例如char(10),插入資料'中國',其字符大小仍為10
varchar位元組長度不固定,隨插入的數值變動,例如char(10),插入資料'中國',其字符大小為2
4、列舉型別
|
型別 |
數值范圍 |
索引 |
|
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());
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/48530.html
標籤:MySQL
