数值类型(整型、浮点型)
int 大整型(4个字节)
tinyint 微小整型(1个字节)
-> signed: -128 —— +127
-> unsigned: 0 —— 255
smallint 小整型(2个字节)
bigint 极大整型(8个字节)
float 浮点型(4个字节)float(5,2)->最大取值999.99(致命限制:最多显示7位有效位)
decimal 浮点型 decimal(m,n) (最多显示28个有效位)
-注意:浮点型插入整数时会自动补全小数尾数 / 小数位数多余指定位数会进行四舍五入-
字符类型
char 1 ——>255 默认宽度为1 使用:char(长度)
varchar 1 ——> 65535 必须指定宽度,无默认宽度值 使用:vachar(变长)
text/logntext/blob/longblob 用来存储文本,无需置顶宽度
枚举类型
- 单选
用法:字段名 enum (值1,值2,...)
规则:只能选择其中的一个值
例子:sex enum('male',female')- 多选
用法:字段名 set(值1,值2,...)
规则:可以选择其中一个值或者同时选择多个值
例子:hobby set('sing','dance,’music‘,'art')
日期时间类型
- 数据类型
date:'YYYY-MM-DD'
time:'HH:MM:SS'
datetime:'YYYY-MM-DD HH:MM:SS' 注:不赋值,返回NULL
timestamp:'YYYY-MM-DD HH:MM:SS' 注:不赋值,默认返回当前系统时间戳- 日期时间函数
now() 返回服务器当前时间
curdate() 返回当前日期
curtime() 返回当前时间
year(date) 返回制定时间的年份
date(date) 返回指定时间的月份
time(date) 返回指定时间的时间- 日期时间运算
语法:SELECT * FROM 表名 WHERE 字段名 运算符(时间 - INTERVAL 时间间隔单位)
时间间隔单位:
1 day | 2 hour | 1 minute | 2 year | 3 month
例子:
查询一天以内的记录:SELECT * FROM userlist WHERE time(now() - INTERVAL 1 day)
查询一年以前的记录:SELECT * FROM userlist WHERE time(now() - INTERVAL 1 year)