Mysql 学习之路(一)Mysql基础知识之数据类型
Mysql中的数据类型:
字符串型:(注意:char和varchar需要指定长度,例如:char(10))
类型 | 字节 | 大小 | 说明 |
char | 1 | 0~255 | 2^8定长字节 |
varchar | 2 | 0~65535 | 2^16定长字节 |
tinytext | 1 | 0~255 | 短文本,与char存储形式不同 |
text | 2 | 0~65535 | 文本 |
mediumtext | 3 | 0-16 777 215 | 2^24定长字节 |
longtext | 4 | 0-4 294 967 295 | 2^32定长字节,极大文本 |
整形:
类型 | 字节 | 范围 | 说明 |
tinyint | 1 | (0,255) | 很小的整数值 |
smallint | 2 | (0,65535) | 小整数值 |
mediumint | 3 | (0,16777215) | 中整数值 |
int | 4 | (0,4 294 967 295) | 整数值 |
bigunt | 8 | (0,18 446 744 073 709 551 615) | 很大的整数值 |
浮点型
类型 | 字节 | 范围 | 说明 |
float | 4 | 23bit(约6~7位 10进制数字 | 单精度浮点数 |
double | 8 | 52bit(约15~16位 10进制数字) | 双精度浮点数值 |
decimal |
日期型
类型 | 字节 | 范围 | 格式及范围 |
date | 3 | 1000-01-01---9999-12-31 | YYYY-MM-DD 日期值 |
time | 3 | -838:59:59---838:59:59 | HH:MM:SS 时间值或持续时间 |
datetime | 8 | 1000-01-01 00:00:00---9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS 混合日期和时间值 |
year | 1 | 1901---2155 | YYYY 年份值 |
timestamp | 4 | 1970-01-01 00:00:00/2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 | YYYYMMDD HHMMSS 时间戳,混合日期和时间值 |
列举和枚举
类型 | 字节 | 说明 |
set | 1,2,3,4,8 | 列举:可以取SET列表中的一个或多个元素(多选) |
enum | 1,2 | 枚举:可以取ENUM列表中的一个元素(单选) |
字段说明
not null 非空 必须有值,不允许为null
default 默认值,当插入记录时没有赋值,自动赋予默认值(允许为null)
primary key 主键 惟一标识一行数据的字段(主键自动为not null)
auti_incremeant 自动增量 不能单独使用,必须与primary key 一起定义
unique 唯一 记录不能重复(一张表可以有多个unique,允许为null)