目录
MySQL 支持多种数据类型,可以分为几大类:整数、浮点数、日期和时间、字符串、二进制、枚举、集合等。下面是 MySQL 常见数据类型的总结及其示例:
1. 数字类型
整数类型
TINYINT
:存储小整数,范围为 -128 到 127(有符号),0 到 255(无符号),1 字节。TINYINT TINYINT UNSIGNED
SMALLINT
:存储小整数,范围为 -32,768 到 32,767(有符号),0 到 65,535(无符号),2 字节。SMALLINT SMALLINT UNSIGNED
MEDIUMINT
:存储中等大小的整数,范围为 -8,388,608 到 8,388,607(有符号),0 到 16,777,215(无符号),3 字节。MEDIUMINT MEDIUMINT UNSIGNED
INT
:存储整数,范围为 -2,147,483,648 到 2,147,483,647(有符号),0 到 4,294,967,295(无符号),4 字节。INT INT UNSIGNED
BIGINT
:存储大整数,范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807(有符号),0 到 18,446,744,073,709,551,615(无符号),8 字节。BIGINT BIGINT UNSIGNED
浮点数类型
FLOAT
:存储单精度浮点数,4 字节,精度约为 7 位十进制数。FLOAT
DOUBLE
:存储双精度浮点数,8 字节,精度约为 15 位十进制数。DOUBLE
DECIMAL
:存储定点数,用于存储精确的小数值,支持指定总位数和小数位数。DECIMAL(M, D) -- M 为总位数,D 为小数位数
2. 日期和时间类型
DATE
:存储日期,格式为 'YYYY-MM-DD',范围为 1000-01-01 到 9999-12-31,3 字节。DATE
范围为 1000-01-01 00:00:00 到 9999-12-31 23:59:59,8 字节。DATETIME
:存储日期和时间,格式为 'YYYY-MM-DD HH:MMDATETIME
范围为 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC,4 字节。TIMESTAMP
:存储时间戳,格式为 'YYYY-MM-DD HH:MMTIMESTAMP
范围为 -838:59:59 到 838:59:59,3 字节。TIME
:存储时间,格式为 'HH:MMTIME
YEAR
:存储年份,格式为 'YYYY',范围为 1901 到 2155,1 字节。YEAR
3. 字符串类型
CHAR
:固定长度的字符串,最多 255 字符。CHAR(M) -- M 为字符长度
VARCHAR
:可变长度的字符串,最多 65,535 字符。VARCHAR(M) -- M 为最大字符长度
TEXT
:长文本数据,最大长度为 65,535 字符。TEXT
MEDIUMTEXT
:更长的文本数据,最大长度为 16,777,215 字符。MEDIUMTEXT
LONGTEXT
:最长的文本数据,最大长度为 4,294,967,295 字符。LONGTEXT
BLOB
:二进制大对象,最大长度为 65,535 字节。BLOB
MEDIUMBLOB
:更大的二进制对象,最大长度为 16,777,215 字节。MEDIUMBLOB
LONGBLOB
:最大的二进制对象,最大长度为 4,294,967,295 字节。LONGBLOB
4. 枚举和集合类型
ENUM
:枚举类型,定义了一组预定义的值,每个字段只能是这些值之一。ENUM('value1', 'value2', 'value3', ...)
SET
:集合类型,允许多个预定义值的组合。SET('value1', 'value2', 'value3', ...)
5. 特殊类型
JSON
:存储 JSON 格式的数据,支持 JSON 数据类型。JSON
BIT
:存储位值,表示为 0 或 1。BIT(M) -- M 为位数