数据类型
大约 2 分钟
相关信息
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(无符号)。
浮点类型:
FLOAT:4 字节,适用于单精度浮点数,范围约为 -3.402823466E+38 到 3.402823466E+38。DOUBLE(或DOUBLE PRECISION):8 字节,适用于双精度浮点数,范围约为 -1.7976931348623157E+308 到 1.7976931348623157E+308。DECIMAL(或NUMERIC):可变长度,精确的小数类型,适合需要高精度的计算(如货币)。可以定义总位数和小数位数,例如DECIMAL(10, 2)。
字符串类型
定长字符串:
CHAR(n):定长字符串,最大长度为 255 字符。未填满的部分用空格填充。
变长字符串:
VARCHAR(n):变长字符串,最大长度为 65,535 字符。n 是字符串的最大长度,不足的部分不需要填充。
文本类型:
TINYTEXT:最大长度为 255 字符。TEXT:最大长度为 65,535 字符。MEDIUMTEXT:最大长度为 16,777,215 字符。LONGTEXT:最大长度为 4,294,967,295 字符。
二进制字符串:
BINARY(n):定长二进制字符串,最大长度为 255 字节。VARBINARY(n):变长二进制字符串,最大长度为 65,535 字节。TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB:分别对应不同的二进制数据存储,最大长度分别为 255 字节、65,535 字节、16,777,215 字节和 4,294,967,295 字节。
日期和时间类型
DATE:日期类型,格式为 YYYY-MM-DD,范围为 1000-01-01 到 9999-12-31。TIME:时间类型,格式为 HH:MM:SS,范围为 '-838:59:59' 到 '838:59:59'。DATETIME:日期和时间组合,格式为 YYYY-MM-DD HH:MM:SS,范围为 1000-01-01 00:00:00 到 9999-12-31 23:59:59。TIMESTAMP:时间戳类型,格式为 YYYY-MM-DD HH:MM:SS,范围为 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC。TIMESTAMP 会根据时区自动调整。YEAR:年份类型,格式为 YYYY,范围为 1901 到 2155。
JSON 类型
JSON:用于存储 JSON 格式的数据,支持对 JSON 数据的查询和操作。
其他类型
ENUM:枚举类型,允许列出一个固定的字符串值集合,字段只能取其中之一。
CREATE TABLE example (
status ENUM('active', 'inactive', 'pending')
);SET:集合类型,允许列出多个字符串值,可以选择其中多个值。
CREATE TABLE example (
colors SET('red', 'green', 'blue')
);