简述MySQL 有哪些数据类型?
参考答案:
MySQL支持多种数据类型,以满足不同数据存储和查询需求。以下是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字节,单精度浮点数。DOUBLE
或REAL
:8字节,双精度浮点数。DECIMAL
或NUMERIC
:用于存储精确的小数,如货币数据。
-
字符串类型:
CHAR
:定长字符串,长度范围0到255。VARCHAR
:变长字符串,长度范围0到65,535。TINYTEXT
:非常小的文本字符串,最大长度255字节。TEXT
:文本字符串,最大长度65,535字节。MEDIUMTEXT
:中等长度的文本字符串,最大长度16,777,215字节。LONGTEXT
:长文本字符串,最大长度4,294,967,295字节。BINARY
、VARBINARY
:与CHAR和VARCHAR类似,但存储的是二进制数据。
-
日期和时间类型:
DATE
:日期,格式为'YYYY-MM-DD'。TIME
:时间,格式为'HH:MM:SS'。DATETIME
:日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。TIMESTAMP
:时间戳,与UNIX时间戳类似,从1970-01-01 00:00:01 UTC开始。YEAR
:年份,可以是2位或4位。
-
布尔类型:
BOOLEAN
:实际上是TINYINT(1)的别名,可以存储0(false)或1(true)。
此外,MySQL还支持其他数据类型,如ENUM
(枚举类型)、SET
(集合类型)和JSON
等。在选择数据类型时,需要考虑数据的范围、精度、存储需求以及查询性能等因素。