MySQL数据类型详解

发表时间: 2024-02-12 11:01

MySQL 支持多种数据类型,这些数据类型用于定义表中的列(字段)可以存储的数据的种类和格式。以下是 MySQL 中常见的数据类型及其详细说明:

数值类型

  1. 整数类型
  2. TINYINT: 非常小的整数,有符号范围为 -128 到 127,无符号范围为 0 到 255。
  3. SMALLINT: 小的整数,有符号范围为 -32,768 到 32,767,无符号范围为 0 到 65,535。
  4. MEDIUMINT: 中等大小的整数,有符号范围为 -8,388,608 到 8,388,607,无符号范围为 0 到 16,777,215。
  5. INT 或 INTEGER: 标准的整数,有符号范围为 -2,147,483,648 到 2,147,483,647,无符号范围为 0 到 4,294,967,295。
  6. BIGINT: 大整数,有符号范围为 -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: 单精度浮点数。
  9. DOUBLE 或 DOUBLE PRECISION: 双精度浮点数。
  10. DECIMAL 或 NUMERIC: 定点数,可以存储精确的小数。

日期和时间类型

  1. 日期类型
  2. DATE: 日期,格式为 'YYYY-MM-DD'。
  3. DATETIME: 日期和时间,格式为 'YYYY-MM-DD HH:MM:SS'。
  4. TIMESTAMP: 时间戳,格式为 'YYYY-MM-DD HH:MM:SS'。它与 UNIX 时间戳相似,并且与时区相关。
  5. YEAR: 年份,可以是 2 位或 4 位。
  6. 时间类型
  7. TIME: 时间,格式为 'HH:MM:SS'。
  8. 间隔类型
  9. INTERVAL: 用于表示时间间隔。

字符串类型

  1. 字符类型
  2. CHAR: 定长字符串,长度范围从 0 到 255。
  3. VARCHAR: 变长字符串,长度范围从 0 到 65,535(实际最大长度取决于最大行大小和使用的字符集)。
  4. 二进制字符串类型
  5. BINARY: 定长二进制字符串。
  6. VARBINARY: 变长二进制字符串。
  7. 文本类型
  8. TINYTEXT: 非常小的文本字符串。
  9. TEXT: 文本字符串。
  10. MEDIUMTEXT: 中等大小的文本字符串。
  11. LONGTEXT: 长文本字符串。
  12. 枚举和集合类型
  13. ENUM: 枚举类型,允许的值在列定义中给出。
  14. SET: 集合类型,允许的值在列定义中给出,但可以选择多个值。

空间数据类型(用于地理空间数据)

  1. 几何类型
  2. GEOMETRY: 几何类型的基类。
  3. POINT: 点。
  4. LINESTRING: 线段。
  5. POLYGON: 多边形。
  6. ...以及其他更复杂的几何类型。
  7. 地理类型
  8. GEOMETRYCOLLECTION: 地理类型的基类。
  9. POINT: 地理点。
  10. LINESTRING: 地理线段。
  11. POLYGON: 地理多边形。
  12. MULTIPOINT: 多点集合。
  13. MULTILINESTRING: 多线段集合。
  14. MULTIPOLYGON: 多多边形集合。
  15. ...以及其他更复杂的地理类型。

每种数据类型都有其特定的用途和限制,因此在设计数据库和表结构时,选择正确的数据类型非常重要。这有助于确保数据的完整性、准确性和性能。