跳到主要内容

简述MySQL 有哪些数据类型?

参考答案:

MySQL支持多种数据类型,以满足不同数据存储和查询需求。以下是MySQL的主要数据类型分类和简介:

  1. 整数类型

    • 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。
    • INTINTEGER: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。
  2. 浮点数和定点数类型

    • FLOAT:4字节,单精度浮点数。
    • DOUBLEREAL:8字节,双精度浮点数。
    • DECIMALNUMERIC:用于存储精确的小数,如货币数据。
  3. 字符串类型

    • CHAR:定长字符串,长度范围0到255。
    • VARCHAR:变长字符串,长度范围0到65,535。
    • TINYTEXT:非常小的文本字符串,最大长度255字节。
    • TEXT:文本字符串,最大长度65,535字节。
    • MEDIUMTEXT:中等长度的文本字符串,最大长度16,777,215字节。
    • LONGTEXT:长文本字符串,最大长度4,294,967,295字节。
    • BINARYVARBINARY:与CHAR和VARCHAR类似,但存储的是二进制数据。
  4. 日期和时间类型

    • 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位。
  5. 布尔类型

    • BOOLEAN:实际上是TINYINT(1)的别名,可以存储0(false)或1(true)。

此外,MySQL还支持其他数据类型,如ENUM(枚举类型)、SET(集合类型)和JSON等。在选择数据类型时,需要考虑数据的范围、精度、存储需求以及查询性能等因素。