MySQL 数据类型介绍
MySQL 是一个广泛使用的关系型数据库管理系统,它支持多种数据类型,以满足不同的数据存储需求。理解这些数据类型对于有效设计数据库至关重要。本文将介绍 MySQL 中的主要数据类型,并通过代码示例加以说明。
1. 数值类型
MySQL 提供了多种数值类型,主要分为整型和浮点型。
-
整型:整型数据用于存储整数,支持的类型有:
-
TINYINT
:1 字节,范围是 -128 到 127 (有符号),0 到 255 (无符号)。 SMALLINT
:2 字节,范围是 -32,768 到 32,767 (有符号),0 到 65,535 (无符号)。MEDIUMINT
:3 字节,范围是 -8,388,608 到 8,388,607 (有符号),0 到 16,777,215 (无符号)。INT
或INTEGER
:4 字节,范围是 -2,147,483,648 到 2,147,483,647 (有符号),0 到 4,294,967,295 (无符号)。BIGINT
:8 字节,范围是 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (有符号),0 到 18,446,744,073,709,551,615 (无符号)。
示例:
sql
CREATE TABLE integers_example (
id INT NOT NULL,
tiny_val TINYINT,
small_val SMALLINT,
medium_val MEDIUMINT,
big_val BIGINT
);
-
浮点型:浮点型用于存储带小数的数值,支持的类型有:
-
FLOAT
:单精度浮点数。 DOUBLE
:双精度浮点数。DECIMAL
:精确的定点数,常用于财务计算。
示例:
sql
CREATE TABLE float_example (
id INT NOT NULL,
float_val FLOAT,
double_val DOUBLE,
decimal_val DECIMAL(10, 2) -- 10 位数字,其中 2 位小数
);
2. 字符串类型
字符串类型用于存储文本数据,主要分为几类:
CHAR(n)
:固定长度的字符串,长度为 n,最多可达 255 个字符。VARCHAR(n)
:可变长度的字符串,长度可达 n,最多可达 65,535 个字符。TEXT
:长文本字符串,用于存储较大文本,最大长度为 65,535 个字符。BLOB
:二进制大对象,用于存储二进制数据,如图片、音频等。
示例:
sql
CREATE TABLE string_example (
id INT NOT NULL,
char_val CHAR(10),
varchar_val VARCHAR(50),
text_val TEXT,
blob_val BLOB
);
3. 日期与时间类型
MySQL 提供多种日期与时间类型,用于存储日期和时间数据:
DATE
:日期,格式为 'YYYY-MM-DD'。TIME
:时间,格式为 'HH:MM:SS'。DATETIME
:日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。TIMESTAMP
:时间戳,代表自 1970-01-01 00:00:00 UTC 到某个时间的秒数。
示例:
sql
CREATE TABLE datetime_example (
id INT NOT NULL,
date_val DATE,
time_val TIME,
datetime_val DATETIME,
timestamp_val TIMESTAMP
);
4. 枚举与集合类型
ENUM
:枚举类型,用于从定义好的值列表中选择一个值,最大可有 65,535 个值。SET
:集合类型,可以从定义好的多个值中选择零个或多个值,最大可有 64 个值。
示例:
sql
CREATE TABLE enum_set_example (
id INT NOT NULL,
status ENUM('active', 'inactive', 'deleted'),
tags SET('tag1', 'tag2', 'tag3')
);
总结
MySQL 数据类型丰富多样,合理选择合适的数据类型可以提高数据库的性能和数据的准确性。在设计数据库时,了解各种数据类型的特性,以及它们的存储效率和使用场景,将有助于数据库的管理和维护。希望本文能帮助你更好地理解 MySQL 数据类型。