MySQL 是一种流行的开源关系型数据库管理系统,它支持多种数据类型,以满足不同场景下的数据存储需求。了解这些数据类型对于设计数据库结构至关重要。本文将介绍 MySQL 的基本数据类型,并提供相应的代码示例。

一、数值数据类型

数值数据类型用于存储数字,包括整数和浮点数。MySQL 中的常用数值数据类型有:

  1. 整数类型
  2. TINYINT:1字节,范围 -128 到 127(有符号)或 0 到 255(无符号)。
  3. SMALLINT:2字节,范围 -32,768 到 32,767(有符号)或 0 到 65,535(无符号)。
  4. MEDIUMINT:3字节,范围 -8,388,608 到 8,388,607(有符号)或 0 到 16,777,215(无符号)。
  5. INT:4字节,范围 -2,147,483,648 到 2,147,483,647(有符号)或 0 到 4,294,967,295(无符号)。
  6. BIGINT:8字节,范围 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807(有符号)或 0 到 18,446,744,073,709,551,615(无符号)。

  7. 浮点数类型

  8. FLOAT:单精度浮点数,4字节。
  9. DOUBLE:双精度浮点数,8字节。
  10. DECIMAL(M, D):精确小数,其中 M 是数字的总位数,D 是小数部分的位数。

示例

CREATE TABLE example_numbers (
    id INT AUTO_INCREMENT PRIMARY KEY,
    age TINYINT UNSIGNED,
    salary DECIMAL(10, 2)
);

二、字符串数据类型

字符串数据类型用于存储文本数据,MySQL 提供了多种类型以支持不同长度的字符串。

  1. CHAR(M):定长字符串,最大长度为 255 个字符。
  2. VARCHAR(M):变长字符串,最大长度为 65,535 个字符。
  3. TINYTEXT:最大长度为 255 个字符的文本。
  4. TEXT:最大长度为 65,535 个字符的文本。
  5. MEDIUMTEXT:最大长度为 16,777,215 个字符的文本。
  6. LONGTEXT:最大长度为 4,294,967,295 个字符的文本。
  7. BINARY(M)VARBINARY(M):分别对应 CHAR 和 VARCHAR,但用于存储二进制数据。

示例

CREATE TABLE example_strings (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    description TEXT
);

三、日期与时间数据类型

日期和时间数据类型用于存储日期和时间信息。常用类型包括:

  1. DATE:日期,格式为 'YYYY-MM-DD',范围从 '1000-01-01' 到 '9999-12-31'。
  2. TIME:时间,格式为 'HH:MM:SS',范围从 '-838:59:59' 到 '838:59:59'。
  3. DATETIME:日期和时间,格式为 'YYYY-MM-DD HH:MM:SS',范围从 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。
  4. TIMESTAMP:时间戳,范围从 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。
  5. YEAR(M):年份,支持 2 位或 4 位格式,范围从 1901 到 2155 或 00 到 99。

示例

CREATE TABLE example_dates (
    id INT AUTO_INCREMENT PRIMARY KEY,
    event_date DATE,
    event_time TIME,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

四、其他数据类型

除了上述数据类型,MySQL 还支持其他类型,如:

  1. ENUM:枚举类型,可以选择一个预定义的值。
  2. SET:集合类型,可以选择零个或多个预定义的值。

示例

CREATE TABLE example_enum_set (
    id INT AUTO_INCREMENT PRIMARY KEY,
    status ENUM('active', 'inactive', 'pending'),
    tags SET('tag1', 'tag2', 'tag3')
);

总结

MySQL 提供了多种数据类型,适用于不同的数据存储需求。选择合适的数据类型可以有效地提高数据库的性能和可维护性。在设计数据库时,需要考虑数据的性质和使用场景,从而选用合适的数据类型。希望本文能帮助你更好地理解 MySQL 的数据类型。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部