一、数据类型
类型 | 说明 | 取值范围 | 存储需求 |
TINYINT | 非常小的数据 | 有符值: -27 ~ 27-1 无符号值:0 ~ 28-1 | 1字节 |
SMALLINT | 较小的数据 | 有符值: -215 ~ 215-1 无符号值: 0 ~ 216-1 | 2字节 |
MEDIUMINT | 中等大小的数据 | 有符值: -223 ~ 223-1 无符号值: 0 ~ 224-1 | 3字节 |
INT | 标准整数 | 有符值: -231 ~ 231-1 无符号值:0 ~ 232-1 | 4字节 |
BIGINT | 较大的整数 | 有符值: -263 ~263-1 无符号值:0 ~264-1 | 8字节 |
FLOAT | 单精度浮点数 | ±1.1754351e -38 | 4字节 |
DOUBLE | 双精度浮点数 | ±2.2250738585072014e -308 | 8字节 |
DECIMAL | 字符串形式的浮点数 | Decimal(M,D) | M+2个字节 |
UNSIGNED属性 标识为无符号数
ZEROFILL属性 宽度(位数)不足以0填充
字符串类型 | 说明 | 长度 |
CHAR[(M)] | 定长字符串 | M字节 |
VARCHAR[(M)] | 可变字符串 | 可变长度 |
TINYTEXT | 微型文本串 | 0~28–1字节 |
TEXT | 文本串 | 0~216–1字节 |
日期类型
日期类型 | 格式 | 取值范围 |
DATE | YYYY-MM-DD,日期格式 | 1000-01-01~ 9999-12-31 |
DATETIME | YY-MM-DD hh:mm:ss: | 1000-01-01 00:00:00 ~9999-12-31 23:59:59 |
TIME | hh:mm:ss: | -835:59:59 ~ 838:59:59 |
TIMESTAMP | YYYYMMDDHHMMSS | 1970年某时刻~2038年某时刻,精度为1秒 |
YEAR | YYYY格式的年份 | 1901~2155 |
二、字段的约束
名称 | 关键字 | 说明 |
非空约束 | NOT NULL | 字段不允许为空 |
默认约束 | DEFAULT | 赋予某字段默认值 |
唯一约束 | UNIQUE KEY(UK) | 设置字段的值是唯一的 允许为空,但只能有一个空值 |
主键约束 | PRIMARY KEY(PK) | 设置该字段为表的主键 可唯一标识该表记录 |
外键约束 | FOREIGN KEY(FK) | 用于在两表之间建立关系, 需要指定引用主表的哪一字段 |
自动增长 | AUTO_INCREMENT | 设置该列为自增字段 默认每条自增1 通常用于设置主键
|