MySQL数据类型
数值型
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
TINYINT | 1字节 | -128~127 | 0-255 | 微小整数 |
SMALLINT | 2字节 | -32768~32767 | 0~65535 | 小整数 |
MEDIUMINT | 3字节 | -223~223-1 | 0~224-1 | 中整数 |
INT | 4字节 | -231~231-1 | 0~232-1 | 大整数 |
BIGINT | 8字节 | -263~263-1 | 0~264-1 | 极大整数 |
FLOAT | 4字节 | 单精度浮点数 | ||
DOUBLE | 8字节 | 双精度浮点数 | ||
DECIMAL | 对DECIMAL(M,D),其中M为有效位数,D为小数位数 |
注:整数类型默认为有符号范围,创建无符号类型时在数据类型后加"unsigned"关键字
字符类型
类型 | 说明 |
Char | 最大长度255字符;不够指定字符时在右边用空格补齐;字符超出,无法写入 |
Varchar | 按数据实际大小分配存储空间;字符超出,无法写入 |
Text/blob | 字符数大于65535存储时使用 |
注:char(宽度),宽度默认为1,varchar必须要宽度
枚举
单选:enum(值1,值2……)
多选:set(值1,值2……)
日期时间类型
类型 | 大小 | 默认值 |
DATETIME | 8字节 | NULL |
TIMESTAMP | 4字节 | 自动当前时间 |
DATE | 4字节 | |
YEAR | 1字节 | |
TIME | 3字节 |
时间函数:
now() #获取当前时间
year(日期时间) #获取日期时间中的年
month(日期时间) #获取日期时间中的月
day(日期时间) #获取日期时间中的日期