数值型

整型

整数类型 字节(有符号、无符号)
Tinyint 1
Smallint 2
Mediumint 3
Int、integer 4
Bigint 8

特点:
#1、默认有符号类型—-t2 INT UNSIGNED
#2、如果超出范围,会报异常,并且插入临界值
#3、数据长度由类型决定,设置长度是显示长度—-t1 INT(7) ZEROFILL—-变成无符号类型

小数

浮点型 字节 范围
float”(M,D)” 4 ….
double”(M,D)” 8 ….
定点型
DEC(M,D)
DECIMAL(M,D)
M+2 最大范围与double相同,给定decimal的有效取值范围由M和D

特点:
#1、M:整数部位+小数部位
D:小数部位
如果超出范围,则插入临界值(999.99)
#2、M和D都可以省略
如果是float和double,则根据插入数值的精度来决定精度
如果是decimal,则默认(10,0);
#3、定点型精度相对较高,一般使用float,double

原则

选择类型越简单越好,能保存数值的类型越小越好

字符型

较短的文本

字符串类型 最多字符数 描述及存储需求
char(M) M(省略,默认为1) 0~255之间的整数
varchar(M) M(不可以省略) 0~65535之间的整数
位类型:bit(M) 字节:1~8 范围:bit(1)~bit(8)
binary和varbinary 类似于char和varchar,但他们包含二进制字符串而不包含非二进制字符串
枚举:enum 只插入插入枚举类型,忽略大小写
Set型 和Enum类型类似,里面可以保存0-64个成员。和Enum类型最大的区别是: SET类型一次可以选取多个成员,而Enum只能选一个,根据成员个数不同存储所占的字节也不同
  • 成员数 字节数

1-8 1
9-16 2
17-24 3
25-32 4
33-64 8
特点;
#1、char消耗空间,效率高,varchar可变字符长度

较长的文本

  • text
  • blob(较大二进制)

日期类型

日期与时间 字节 最小值 最大值
日期:date 4 1000-01-01 9999-12-31
datetime 8 1000-01-01 00:00:00 9999-12-31 23:59:59
timestamp 4 1970-01-01 08:00:01 2038年的某个时刻
时间;time 3 -838:59:59 838:59:59
year 1 1901 2155

特点:
#1、timestamp 受时区影响—-datetime不受时区影响