整型
TINYINT
TINYINT(1字节)
SMALLINT
2、SMALLINT(2字节)
MEDIUMINT
3、MEDIUMINT(三字节)
INT
4、INT(4字节)
BIGINT
5、BIGINT(8字节)
数据库中定义的int(1)和int(12)在存储上没有任何区别
将ip转化为整型 INET_ATON('192.168.0.1')
将整型转化为ip INET_NTOA(3232235521)
字符型
varchar
长度小于255会额外使用一个字节存储长度,当长度大于255会使用两个字节存储长度
适合字符串更新少的场景,每次更新都会重算使用额外存储空间存储长度
适合字符串长度波动大:如文章等
char
最大长度255
检索、写效率更高
适合长度波动不大的数据
存储短字符串、经常更新的字符串
BLOB
TEXT
时间
datetime:
8个字节
精确到毫秒
与时区无关
时间范围大
timestamp
4个字节
精确到秒
依赖时区
时间范围:1970-01-10—2038-01-19
date
3个字节
可利用日期函数进行日期之间的计算
枚举
mysql中可以使用枚举,降低数据存储大小,例如创建表create table user(sex emun('男','女',''))
sex字段使用枚举类型,底层使用的是整型数据存储,整型与枚举对应从1开始
插入:insert into user values(‘男’),(2),(‘’);1:男,2:女,3:‘’
查询:select sex from user where sex=‘男’(或者sex=1)