目录
数据类型
4.1:数据类型的分类
4.2:数值类型
4.3:字符类型
4.5:enum和set类型
数据类型
4.1:数据类型的分类
| 数值类型 | 描述 |
|---|---|
| TINYINT [UNSIGNED] | 整数,占用1字节 |
| SMALLINT [UNSIGNED] | 整数,占用2字节 |
| INT [UNSIGNED] | 整数,占用4字节 |
| BIGINT [UNSIGNED] | 整数,占用8字节 |
| FLOAT [(M, D)] [UNSIGNED] | 单精度浮点数,占4字节,m表示长度,d为小数点位数 |
| DOUBLE [(M, D)] [UNSIGNED] | 双精度浮点数,占8字节,m表示长度,d为小数点位数 |
| DECIMAL [(M, D)] [UNSIGNED] | 固定精度浮点数,m表示长度,d为小数点位数 |
| 字符串类型 | 描述 |
|---|---|
| CHAR(n) | 定长字符串,最大长度为 n,最大为255 |
| VARCHAR(n) | 可变长度字符串,最大长度为 n,最大为65535 |
| TEXT | 长文本字符串 |
| 日期和时间类型 | 描述 |
|---|---|
| DATE | 日期值,格式为 'YYYY-MM-DD' |
| TIME | 时间值,格式为 'HH:MM:SS' |
| YEAR | 年,格式 'YYYY' |
| DATETIME | 日期和时间值,格式为 'YYYY-MM-DD HH:MM:SS' |
| TIMESTAMP | 时间戳,记录的是从 1970 年 1 月 1 日起经过的秒数 |
| 布尔类型 | 描述 |
|---|---|
| BOOLEAN | 布尔值,存储 TRUE 或 FALSE |
| 其他类型 | 描述 |
|---|---|
| ENUM | 枚举值,存储一个预定义的字符串列表中的一个值 |
| SET | 集合值,存储一个预定义的字符串列表中的多个值 |
| BINARY | 二进制数据 |
| VARBINARY(n) | 可变长度的二进制数据,最大长度为 n |
| BLOB | 二进制大对象,用于存储大量的二进制数据 |
| JSON | 存储和处理 JSON 格式的数据 |
4.2:数值类型
4.2.1:整数类型

说明:
1、在mysql中,当我们插入的值超过类型值时候,不会像有些语言一样会发送截断,而会直接插入失败
2、在MySQL中,整型可以指定是有符号的和无符号的,默认是有符号的。
3、可以通过UNSIGNED来说明某个字段是无符号的
4.2.2:小数类型

说明:
1、在小数类型中,假如长度溢出,不会报错,而是会进行四舍五入(在不同的数据库版本中表现形式可能会不一样)
4.3:字符类型
说明:
1、char(n)中的n表示的是字符数,不是字节数,所以字母和汉字都可以放n个
2、varchar(n)中的n表示的是字节数,不同的编码格式字节数是不一样的(varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字节数是65532)
4.4:日期和时间类型
常用的日期有如下三个:
date :日期 'yyyy-mm-dd' ,占用三字节
datetime 时间日期格式 'yyyy-mm-dd HH:ii:ss' 表示范围从 1000 到 9999 ,占用八字节
timestamp :时间戳,从1970年开始的 yyyy-mm-dd HH:ii:ss 格式和 datetime 完全一致,占用
四字节
4.5:enum和set类型
在 MySQL 中,ENUM 和 SET 是用于存储一组预定义值的特殊数据类型。
1. ENUM 类型:
描述:ENUM 类型用于存储从预定义选项中选择的单个值。
示例:
CREATE TABLE colors (
id INT AUTO_INCREMENT PRIMARY KEY,
color ENUM('Red', 'Green', 'Blue', 'Yellow')
);
用途:适用于存储具有固定选项的数据,如颜色选项、状态选项等。
2. SET 类型:
描述:SET 类型用于存储从预定义选项中选择的多个值。
示例:
CREATE TABLE hobbies (
id INT AUTO_INCREMENT PRIMARY KEY,
hobby SET('Reading', 'Sports', 'Travel', 'Music'));
用途:适用于存储具有多个可能选项的数据,如兴趣爱好、权限设置等。




![[Data structure]双链表 | 一文带你了解线性数据结构之一的双链表](https://img-blog.csdnimg.cn/91fefc90070b42df994ffc2e086eb0b1.png)













