📜  MySQL数据类型(1)

📅  最后修改于: 2023-12-03 15:03:08.197000             🧑  作者: Mango

MySQL数据类型

MySQL是一种关系型数据库管理系统,其中定义了许多数据类型以存储和操作数据,每个数据类型表示不同的数据格式,例如数字、字符串和日期/时间格式等。本文将介绍MySQL支持的数据类型及其用途。

数值型数据类型

MySQL支持几种数值型数据类型,包括整数、小数和布尔值。

整数类型

MySQL支持以下整数类型:

  • TINYINT: 一字节有符号整数,范围为-128到127。
  • SMALLINT: 二字节有符号整数,范围为-32768到32767。
  • MEDIUMINT: 三字节有符号整数,范围为-8388608到8388607。
  • INTINTEGER: 四字节有符号整数,范围为-2147483648到2147483647。
  • BIGINT: 八字节有符号整数,范围为-9223372036854775808到9223372036854775807。

例如,创建一个名为example的表,其中包含一个名为idBIGINT列:

CREATE TABLE example (
  id BIGINT
);
小数类型

MySQL支持以下小数类型:

  • FLOAT: 单精度浮点数,需要四个字节来存储,范围为-3.4028235E+38到3.4028235E+38。
  • DOUBLEREAL: 双精度浮点数,需要八个字节来存储,范围为-1.7976931348623157E+308到1.7976931348623157E+308。
  • DECIMALNUMERIC: 一个带有精度和比例的可变精度小数。

例如,创建一个名为example的表,其中包含一个名为priceDECIMAL列:

CREATE TABLE example (
  price DECIMAL(10,2)
);
布尔类型

MySQL支持一个布尔类型,名为BOOLEANBOOL,它可以存储true或false的值。

例如,创建一个名为example的表,其中包含一个名为is_activeBOOLEAN列:

CREATE TABLE example (
  is_active BOOLEAN
);
字符型数据类型

MySQL支持几种字符型数据类型,包括定长字符串、变长字符串和文本类型。

定长字符串类型

MySQL支持以下定长字符串类型:

  • CHAR: 定长字符串,最多可以容纳255个字符。
  • BINARY: 定长二进制字符串,最多可以容纳255个字符。

例如,创建一个名为example的表,其中包含一个名为nameCHAR列:

CREATE TABLE example (
  name CHAR(50)
);
变长字符串类型

MySQL支持以下变长字符串类型:

  • VARCHAR: 变长字符串,最多可以容纳65535个字符。
  • VARBINARY: 变长二进制字符串,最多可以容纳65535个字符。

例如,创建一个名为example的表,其中包含一个名为descriptionVARCHAR列:

CREATE TABLE example (
  description VARCHAR(255)
);
文本类型

MySQL支持以下文本类型:

  • TINYTEXT: 最多可以容纳255个字符的文本。
  • TEXT: 最多可以容纳65535个字符的文本。
  • MEDIUMTEXT: 最多可以容纳16777215个字符的文本。
  • LONGTEXT: 最多可以容纳4294967295个字符的文本。

例如,创建一个名为example的表,其中包含一个名为contentLONGTEXT列:

CREATE TABLE example (
  content LONGTEXT
);
日期与时间类型

MySQL支持几种日期和时间类型,包括日期、时间、日期时间和时间戳。

日期类型

MySQL支持以下日期类型:

  • DATE: 存储日期。
  • YEAR: 存储年份,可以是两位数或四位数。

例如,创建一个名为example的表,其中包含一个名为birthdateDATE列:

CREATE TABLE example (
  birthdate DATE
);
时间类型

MySQL支持以下时间类型:

  • TIME: 存储时间。
  • DATETIME: 存储日期和时间。

例如,创建一个名为example的表,其中包含一个名为timestampDATETIME列:

CREATE TABLE example (
  timestamp DATETIME
);
时间戳类型

MySQL支持一个时间戳类型,名为TIMESTAMP,可以自动更新为当前日期和时间。

例如,创建一个名为example的表,其中包含一个名为created_at的自动更新的TIMESTAMP列:

CREATE TABLE example (
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
总结

MySQL是一种功能强大的关系型数据库管理系统,支持多种数据类型以存储和操作数据。本文介绍了MySQL支持的几种数据类型,包括数值型、字符型和日期/时间类型。根据您的需要,选择正确的数据类型将使您的应用程序更高效和可靠。