数值类型

  • 整数类型
    • TINYINT:1字节
      • TINYINT(1):(0表示false,1表示true)对应布尔值
    • SMALLINT:2字节
    • MEDIUMINT:3字节
    • INTINTEGER:4字节
    • BIGINT:8字节
  • 浮点类型
    • FLOAT:4字节,单精度浮点数
    • DOUBLE:8字节,双精度浮点数
    • DECIMAL:精确浮点数,指定总位数和小数位数,存储为字符串
      • DECIMAL(10, 2):指总位数10位,小数2位

字符串类型

  • 定长字符串

    • CHAR(M):固定长度,最多255个字符
  • 变长字符串

    • VARCHAR(M):可变长度,最多65535个字符
  • 文本类型

    • TINYTEXT:最多255个字符
    • TEXT:最多65535个字符
    • MEDIUMTEXT:最多 16777215 个字符
    • LONGTEXT:最多 4294967295 个字符
  • 二进制类型

    • BINARY(M):固定长度二进制数据
    • VARBINARY(M):可变长度二进制数据
  • 大对象类型

    • TINYBLOB:最多255个字节的二进制数据
    • BLOB:最多 65535 字节的二进制数据
    • MEDIUMBLOB:最多 16777215 字节的二进制数据
    • LONGBLOB:最多 4294967295 字节的二进制数据

日期和时间类型

  • DATE:日期,格式为YYYY-MM-DD

  • TIME:时间,格式为HH:MM:SS

  • DATETIME:日期和时间,格式为YYYY-MM-DD HH:MM:SS

  • TIMESTAMP:时间戳,格式为YYYY-MM-DD HH:MM:SS,自动更新

    • timestamp_column TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPDEFAULT CURRENT_TIMESTAMP表示当插入新行时,如果没有为 timestamp_column 提供显式值,它会自动设置为当前时间(插入时的时间)。ON UPDATE CURRENT_TIMESTAMP表示每次更新行时,timestamp_column 会自动更新为当前时间(更新时的时间)。
  • YEAR:年份,格式为YYYY

枚举和集合类型

  • ENUM:枚举类型,允许的值列表,单选

  • SET:集合类型,一个或多个值的结合,允许的值列表,多选