MySQL 数据库数据类型
引言
在开发和维护数据库应用程序时,了解数据类型是非常重要的。数据类型不仅决定了数据库表中每一列可以存储的数据类型,还影响了存储空间的使用和查询效率。MySQL 数据库提供了多种数据类型,本文将介绍其中常用的数据类型,并给出相应的代码示例。
数据类型分类
MySQL 数据库中的数据类型可以分为以下几类:
- 数值类型
- 字符串类型
- 日期和时间类型
- 二进制类型
- JSON 类型
下面将分别介绍每一类数据类型。
数值类型
数值类型用于存储数值数据。常用的数值类型有:
TINYINT
:一个字节大小的整数类型,取值范围为 -128 到 127。SMALLINT
:两个字节大小的整数类型,取值范围为 -32768 到 32767。INT
:四个字节大小的整数类型,取值范围为 -2147483648 到 2147483647。BIGINT
:八个字节大小的整数类型,取值范围为 -9223372036854775808 到 9223372036854775807。FLOAT
:单精度浮点数类型。DOUBLE
:双精度浮点数类型。DECIMAL
:高精度浮点数类型,可以指定精度和小数位数。
以下是一个创建数值类型表的示例:
CREATE TABLE mytable (
id INT,
age TINYINT,
salary DECIMAL(8, 2)
);
字符串类型
字符串类型用于存储文本数据。常用的字符串类型有:
CHAR
:固定长度的字符串类型,最多可以存储 255 个字符。VARCHAR
:可变长度的字符串类型,最多可以存储 65535 个字符。TEXT
:可变长度的大文本类型,最多可以存储 65535 个字符。ENUM
:枚举类型,可以从预定义的值中选择一个。SET
:集合类型,可以从预定义的值中选择多个。
以下是一个创建字符串类型表的示例:
CREATE TABLE mytable (
id INT,
name VARCHAR(50),
description TEXT
);
日期和时间类型
日期和时间类型用于存储日期和时间数据。常用的日期和时间类型有:
DATE
:日期类型,格式为 YYYY-MM-DD。TIME
:时间类型,格式为 HH:MM:SS。DATETIME
:日期和时间类型,格式为 YYYY-MM-DD HH:MM:SS。TIMESTAMP
:时间戳类型,存储从 1970 年 1 月 1 日到当前时间的秒数。YEAR
:年份类型,存储 2 个或 4 个数字的年份。
以下是一个创建日期和时间类型表的示例:
CREATE TABLE mytable (
id INT,
birthdate DATE,
logintime TIME,
created_at DATETIME,
updated_at TIMESTAMP,
expire_year YEAR(4)
);
二进制类型
二进制类型用于存储二进制数据。常用的二进制类型有:
BINARY
:固定长度的二进制类型,最多可以存储 255 个字节。VARBINARY
:可变长度的二进制类型,最多可以存储 65535 个字节。BLOB
:可变长度的二进制大对象类型,最多可以存储 65535 个字节。BIT
:位字段类型,可以存储位串。
以下是一个创建二进制类型表的示例:
CREATE TABLE mytable (
id INT,
avatar BLOB,
permissions BIT(8)
);
JSON 类型
MySQL 5.7 及以上版本支持 JSON 类型,可以存储和查询 JSON 数据。JSON 类型的字段可以存储 JSON 对象或数组。
以下是一个创建 JSON 类型表的示例:
CREATE TABLE mytable (
id INT,
data JSON
);
总结
本文介绍了 MySQL 数据库中常用的数据类型,并给出了相应