数值型:

整形:

 

类型字节有符号范围无符号
Tinyint 1 -128~127 0-255 0-255
Smallint 2 -32768~32767 0~65535
Mediumint 3    
int、integer 4    
Bigint 8    
如何设置有符号和无符号

在参数后面添加unsighed

特点:在类型后面添加长度如int(7) 是指宽度为7,不够补上,可以使用zerofile来进行0添加,但是得默认为正数

小数:

浮点数字节范围
float(M,D) 4  
double(M,D) 8  
定点数    
DEC(M,D) DECIMAL(M,D) M+2 最大范围和double一样,给定decimal范围由M和D决定

特点:

1.M和D是可以省略的。

2.如果不省略的表达:

D表示小数点后的位数

M表示,整数+小数的位数一共是多少

如果超过范围就是插入最大值

3如果不添加(M,D)

定点数的M默认10,D默认为0,而浮点数会根据数值精度来处理

 

字符型:

较短 char,varchar

字符串类型最多字符串存储需求
char(M) M 0~255
varchar(M) M 0~65535

区别:

1.char()不可该该变,varchar()会根据插入的字符来更改M

2.char可省略M,默认为1,varchar不能省略M

同char,varchar还有binary和varbinary,不同的是他们智能包含二进制字符串

 

 

较长 text,blob(较长的二进制数据)

 

 

 

 

日期型:

日期和时间类型字节最小值最大值
data 4 1000-01-01 9999-12-31
datetime 8 1000-01-01 00:00:00 9999-12-31 23:59:59
timestamp 4 19700101080001  
time 3 -838:59:59 838:59:59
year 1 1901 2155

分类:

data只保存日期

time只保存时间

year只保存年

datetime保存日期+时间

timestamp保存日期+时间

特点:

 字节范围受不受时区的影响
datatime 8 1000-9999 0
timestamp 4 1970-2038 1

 

Enum类型

例:

create table tab_char(
c1 ENUM('A','B','C')
)
表示插入时只能插入A,B,C里面的,且只能插入一个

 

Set类型

和Enum类似:

create table tab_set(
s1 SET("a","b","c","d")
)
插入时可以通
insert into tab_set values("a,b,c")多个插入,只要有就行