目录
MySQL数据类型
数值类型
类型 | 大小 (占用内存大小) | 范围 | 说明 |
---|---|---|---|
tinyint | 1 byte(字节)(一个byte 8 bit(位)) | 有符号:-128~127无符号:0~255 | 特小型整数(年龄,物品数量) |
smallint | 2 byte | 有符号:-32768~32767无符号:0~ 2^16 | 小型整数 |
mediument | 3 byte | 有符号:-2^31~2^31-1无符号:0~ 2^32 | 中型整数 |
int/integer | 4 byte | 有符号:-无符号:0~ 2^16 | 整数 |
bigint | 8 byte | 大型整数 | |
float | 4 byte 8位10进制 | 单精度 | |
double | 8 byte 18位10进制 | 双精度 | |
decimal | 第一个参数+2 | 要指定长度 eg: decimal(10.2)一共10位,其中小数占2位 |
字符类型
类型 | 字符序列范围 | 说明 |
---|---|---|
char | 0~255 字节 | 定长字符串,最多存储255个字符串, |
varchar | 0~65535 字节 | 可变长度字符串,最大存储长度为65535,实际长度为指定的长度 eg:varchar(10),指定长度为10 个字节 |
tinyblob | 0~255字节 | 存放二进制字符串 |
blob | 0~65535 字节 | 可以存放所有类型,但是会将其转为二进制字符串存在计算机中 |
mediumblob | 0~1677215 字节 | 存放二进制字符串 |
longblob | 0~4294967295 字节 | |
text | 0~65535 | 文本文件 |
tinytext | 0~255 | 文本文件,与char相比 是可变的 |
mediumtext | 0~1677215 字节 | 文本文件 |
longtext | 0~4294967295 字节 | 文本文件 |
日期类型
类型 | 格式 | 说明 |
---|---|---|
date | 2000-10-11 | 只能存储年月日,没有时分秒 |
time | 11:33:21 | 只存储时分秒 |
year | 2022 | 只能存储年份 |
datetime | 2000-10-11 11:33:21 | 日期+时间 |
timestamp | 20110908 111232 | 日期+时间 ;与datetime的格式不同 |
字段约束
类型 | 说明 | |
---|---|---|
非空约束:not null | 必填,不能为空 | |
唯一约束:unique | 在数据表中的多条数据,一列的值之间不能重复 | |
主键约束:primary key | 非空+唯一;能标识数据表中的唯一的一条数据 eg: 学生学号,每个学生的学号唯一,且能表示该学生的全部信息 | 一张表中只能有一个主键 |
外键约束:foreign key | 建立不同表之间的关系 |