MySQL多种数据类型

MySQL 支持多种数据类型,以便存储不同类型的数据。这些数据类型大致可以分为几类:数值类型、日期和时间类型、字符串(文本)类型、空间类型、JSON类型等。下面列出了一些常用的数据类型:

数值类型

  • 整数类型TINYINTSMALLINTMEDIUMINTINTINTEGERBIGINT。这些类型存储不同范围的整数值。
  • 浮点数和定点数FLOATDOUBLEDECIMAL(M,D)NUMERIC(M,D)FLOATDOUBLE 是浮点数,而 DECIMALNUMERIC 是定点数,适用于需要精确数值计算的场合(如财务计算)。

日期和时间类型

  • 日期DATE,格式为 YYYY-MM-DD。
  • 时间TIME,格式为 HH:MM:SS。
  • 日期和时间DATETIME(YYYY-MM-DD HH:MM:SS)和 TIMESTAMP(同 DATETIME,但有时间戳属性和时区转换功能)。
  • 年份YEAR,格式为 YYYY。

字符串(文本)类型

  • CHAR 和 VARCHARCHAR(M) 是固定长度的字符串,最大长度为 255(在某些版本或配置中可更大)。VARCHAR(M) 是可变长度的字符串,M 表示最大字符数,实际存储长度可变,但有一个最大长度限制(MySQL 5.0.3 之前为 255,之后版本为 65535)。
  • TEXT 类型TINYTEXTTEXTMEDIUMTEXTLONGTEXT。这些类型用于存储大量文本,长度限制依次增加。
  • ENUM:枚举类型,允许你指定一个字符串对象可以取的值列表。
  • SET:集合类型,与 ENUM 类似,但 SET 可以存储零个或多个值,而 ENUM 只能存储一个值。

二进制数据类型

  • BINARY 和 VARBINARY:与 CHAR 和 VARCHAR 类似,但存储的是二进制字符串。
  • BLOB 类型TINYBLOBBLOBMEDIUMBLOBLONGBLOB。用于存储大量二进制数据。

空间数据类型

MySQL 提供了几种空间数据类型来存储地理数据,如 GEOMETRYPOINTLINESTRINGPOLYGON 等。

JSON 数据类型

MySQL 5.7 引入了 JSON 数据类型,允许你以 JSON 格式直接存储和查询数据。

选择数据类型时的注意事项

  • 选择能存储所需数据的最小数据类型,以节省空间。
  • 对于需要精确数值计算的场合(如财务计算),应使用 DECIMAL 而不是浮点数类型。
  • 考虑数据是否需要索引,以及索引对存储和查询性能的影响。
  • 对于大量文本数据,使用 TEXT 类型而不是 VARCHAR。
  • 对于二进制数据(如图片、音频等),使用 BLOB 类型。
  • 考虑是否需要存储日期和时间信息,并选择合适的日期和时间类型。

你可能感兴趣的:(后端技术栈,#,MySQL,mysql,数据库)