一、MySQL数据类型
数字类型
数据类型 | 字节数 | 说明 |
---|---|---|
tinyint | 1 | -128~127 |
smallint | 2 | |
mediumint | 3 | |
int(默认长度11) | 4 | 常用 |
bigint | 8 | 很大 |
float | 4 | 很大 |
double | 8 | 很大 |
decimal | 字符串类型的浮点数 |
时间和日期类型
数据类型 | 日期格式 |
---|---|
year(默认长度4) | YYYY |
date | YYYY-MM-DD |
time | HH:mm:SS |
datetime | YYYY-MM-DD HH:mm:SS |
timestamp | 时间戳,1970.1.1到现在的毫秒数 |
字符串类型
数据类型 | 类型说明 |
---|---|
char | 固定长度字符串 0~255 |
varchar | 可变长度字符串 |
tinytext | 微型文本 |
blob | 二进制大对象(Binary Large Object) |
text | 大文本数据 |
enum | 枚举类型 |
set | 字符串对象 |
- char(4)和varchar(4)的区别
插入值 | CHAR(4)存储需求 | VARCHAR(4)存储需求 |
---|---|---|
‘’ | 4字节 | 1字节 |
‘ab’ | 4字节 | 3字节 |
‘abc’ | 4字节 | 4字节 |
‘abcd’ | 4字节 | 5字节 |
二、MySQL约束
关键字 | 约束名称 | 描述 |
---|---|---|
NOT NULL | 非空约束 | 保证列中所有数据不能有null值 |
UNIQUE | 唯一约束 | 保证列中所有数据各不相同 |
PRIMARY KEY | 主键约束 | 主键是一行数据的唯—标识,要求非空且唯一 |
CHECK(版本8之后) | 检查约束 | 保证列中的值满足某一条件 |
DEFAULT | 默认约束 | 保存数据时,未指定值则采用默认值 |
FOREIGN KEY | 外键约束 | 外键用来让两个表的数据之间建立链接,保证数据的一致性和完整性 |
三、字符集
字符集 | 单字符最大长度 | 支持的语言 |
---|---|---|
latin1 | 1字节 | 西欧字符、希腊字符等 |
gbk | 2字节 | 简体和繁体中文、日文、韩文等 |
utf8 | 3字节 | 世界上大部分国家的文字 |