一、数值型
1.1 整数
- 如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字
- 如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值
- 如果不设置长度,会有默认的长度,长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用!
整数类型 | 字节 | 范围 |
---|---|---|
tinyint | 1 | 有符号:-128~127 无符号:0~255 |
smallint | 2 | 有符号:-32768~32767 无符号:0~65535 |
mediumint | 3 | 有符号:-8388608~8388607 无符号:0~16772515 |
int/integer | 4 | 有符号:-2147483648~2147483647 无符号:0~4294967295 |
bigint | 8 | 有符号:-9223372036854775808~9223372036854775807 无符号:0~9223372036854775807*2+1 |
1.2小数
1.浮点型
float(M,D)
double(M,D)
2.定点型
dec(M,D)
decimal(M,D)
①
M:整数部位+小数部位
D:小数部位
如果超过范围,则插入临界值
②
M和D都可以省略
如果是decimal,则M默认为10,D默认为0
如果是float和double,则会根据插入的数值的精度来决定精度
③定点型的精确度较高,如果要求插入数值的精度较高如货币运算等则考虑使用
浮点数类型 | 字节 |
---|---|
float | 4 |
double | 5 |
DEC /DECIMAL | M+2 |
二、字符型
2.1短文本
char:固定长度的字符
varchar:可变长度的字符
字符串类型 | 最多字符数 | 描述及存储需求 |
---|---|---|
char(M) | M | M为0-255之间的整数 |
varchar(M) | M | M为0-65535之间的整数 |
2.2 长文本
字符串类型 | 描述 |
---|---|
text | 大文本 |
blob | 较大的二进制 |
三、日期型
日期型 | 描述 |
---|---|
date | 只保存日期 |
time | 只保存时间 |
year | 只保存年 |
datetime | 保存日期+时间 |
timestamp | 保存日期+时间 |