Mysql中的数据类型
-
一、整型
| 类型 | tinyint | smallint | mediumint | int/integer | bigint |
| 所占字节数 | 1 | 2 | 3 | 4 | 8 |
-
特点
1.如果不设置有无符号,默认有符号,想设置无符号需添加unsigned
2.如果插入的数据超出了整型的范围,会报out of range,插入的是临界值
3.如果不设置长度会有默认的长度,长度代表了显示的最大宽度,如果不够会用0在左边填充,但必须搭配zerofill使用
-
二、小数
浮点型:
float(M,D) 4字节
double(M,D) 8字节
定点型:
dec/decimal(M,D)
-
特点
1.M代表整数位数和小数位数的和
D代表小数位数
注意:如果超出范围则插入临界值
2.M,D可以省略
如果是decimal则M默认为10,D默认为0
如果是float或double,则会根据插入数值的精度来决定精度
3.定点型(decimal)相对来说精度更高,类似货币运算时可以使用
其他一般用float就可
-
三、字符型
较短的文本:
char、varchar
较长的文本:
text、blob(较大的二进制文件)
较短的二进制:
binary、varbinary
枚举:
enum
集合:
set
-
特点
char(M),M可以省略,默认为1;varchar(M),M不可以省略,M代表最多字符数(注意:一个字母和一个汉字都是一个字符)
char存储固定长度字符,空间耗费高,效率高
varchar(M)代表存储可变长度字符,空间耗费低,效率低
-
四、日期型
-
分类
date 只保存日期
time 只保存时间
year 只保存年
datetime 日期+时间
timestamp 日期+时间
-
特点
datetime和timestamp比较
| 所占字节 | 范围 | 是否受时区影响 | |
| datetime | 8 | 1000-9999 | 否 |
| timestamp | 4 | 1970-2038 | 是 |
万般皆下品 惟有读书高
浙公网安备 33010602011771号