MySQL 数据类型详解
MySQL 是一个广泛使用的关系型数据库管理系统,支持多种数据类型。在创建表时,我们需要选择适合的数据类型来存储不同类型的数据。本文将对 MySQL 中常用的数据类型进行详细解释和示例。
1. 整型数据类型
整型数据类型主要用于存储整数数据,MySQL 提供了多种整型数据类型,每种类型存储不同范围的整数。下面是 MySQL 中常用的整型数据类型:
- TINYINT: 一个字节大小的整数,范围为 -128 到 127 或 0 到 255 。
- SMALLINT: 两个字节大小的整数,范围为 -32768 到 32767 或 0 到 65535。
- MEDIUMINT: 三个字节大小的整数,范围为 -8388608 到 8388607 或 0 到 16777215。
- INT: 四个字节大小的整数,范围为 -2147483648 到 2147483647 或 0 到 4294967295。
- BIGINT: 八个字节大小的整数,范围为 -9223372036854775808 到 9223372036854775807 或 0 到 18446744073709551615。
示例代码:
CREATE TABLE users (
id TINYINT,
age SMALLINT,
salary INT,
total_assets BIGINT
);
2. 浮点型数据类型
浮点型数据类型用于存储带有小数部分的数值。MySQL 中常用的浮点型数据类型有:
- FLOAT: 单精度浮点数,存储范围约为 -3.4E+38 到 3.4E+38,精度为 8 位。
- DOUBLE: 双精度浮点数,存储范围约为 -1.7E+308 到 1.7E+308,精度为 16 位。
- DECIMAL: 定点数,用于存储精确的小数,可以指定小数点的位数。
示例代码:
CREATE TABLE products (
price FLOAT,
discount DOUBLE,
tax DECIMAL(10, 2)
);
3. 字符串型数据类型
字符串型数据类型用于存储文本数据,MySQL 中常用的字符串型数据类型有:
- CHAR: 定长字符串,最大长度为 255 个字符。
- VARCHAR: 变长字符串,最大长度为 65535 个字符。
- TEXT: 存储大块文本数据,最大长度为 65535 个字符。
- BLOB: 存储二进制大块数据,最大长度为 65535 个字符。
示例代码:
CREATE TABLE messages (
title VARCHAR(100),
content TEXT,
image BLOB
);
4. 日期与时间型数据类型
日期与时间型数据类型用于存储日期和时间数据,MySQL 中常用的日期与时间型数据类型有:
- DATE: 日期,格式为 ‘YYYY-MM-DD’。
- TIME: 时间,格式为 ‘HH:MM:SS’。
- DATETIME: 日期与时间,格式为 ‘YYYY-MM-DD HH:MM:SS’。
- TIMESTAMP: 时间戳,存储从 1970 年 1 月 1 日至今的秒数。
示例代码:
CREATE TABLE events (
event_date DATE,
start_time TIME,
event_datetime DATETIME,
created_at TIMESTAMP
);
5. 枚举与集合型数据类型
枚举型数据类型用于存储一组固定的取值,集合型数据类型用于存储多个取值。MySQL 中常用的枚举与集合型数据类型有:
- ENUM: 存储一个固定的字符串取值。
- SET: 存储多个固定的字符串取值。
示例代码:
CREATE TABLE colors (
favorite_color ENUM('red', 'blue', 'green', 'yellow'),
color_preferences SET('red', 'blue', 'green', 'yellow')
);
结论
本文详细介绍了 MySQL 中常用的数据类型,包括整型、浮点型、字符串型、日期与时间型以及枚举与集合型数据类型。选择合适的数据类型可以提高数据存储效率和查询性能,建议在创建表时根据需求慎重选择数据类型。