MySQL 数据库字段类型

MySQL 数据库字段类型

MySQL 的字段类型主要有三种:字符串类型、数值类型、日期和时间类型

字符串类型

  • CHAR(size)
    保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。

  • VARCHAR(size)
    保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。

  • TINYTEXT
    存放最大长度为 255 个字符的字符串。

  • TINYBLOB
    用于 BLOBs (Binary Large OBjects)。存放最多 255 字节的数据。

  • TEXT
    存放最大长度为 65,535 个字符的字符串。

  • BLOB
    用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。

  • MEDIUMTEXT
    存放最大长度为 16,777,215 个字符的字符串。

  • MEDIUMBLOB
    用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。

  • LONGTEXT
    存放最大长度为 4,294,967,295 个字符的字符串。

  • LONGBLOB
    用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。

  • ENUM(x,y,z,etc.)
    允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。

  • SET
    与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。

数值类型

  • TINYINT(size)
    -128 到 127 常规。0 到 255 无符号。在括号中规定最大位数。

  • SMALLINT(size)
    -32768 到 32767 常规。0 到 65535 无符号。在括号中规定最大位数。

  • MEDIUMINT(size)
    -8388608 到 8388607 普通。0 到 16777215 无符号。在括号中规定最大位数。

  • INT(size)
    -2147483648 到 2147483647 常规。0 到 4294967295 无符号。在括号中规定最大位数。

  • BIGINT(size)
    -9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号。在括号中规定最大位数。

  • FLOAT(size,d)
    带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。

  • DOUBLE(size,d)
    带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。

  • DECIMAL(size,d)
    作为字符串存储的 DOUBLE 类型,允许固定的小数点。

日期和时间类型

日期和时间列类型用于处理时间数据,可以存储当日的时间或出生日期这样的数据。格式的规定:Y表示年、M(前M)表示月、D表示日、H表示小时、M(后M)表示分钟、S表示秒。下面是 MySQL 中可用的日期和时间列类型:

  • DATE()
    日期。
    格式:YYYY-MM-DD
    范围: ‘1000-01-01’ 到 ‘9999-12-31’

  • TIME()
    时间。
    格式:HH:MM:SS
    范围: ‘-838:59:59’ 到 ‘838:59:59’

  • YEAR()
    2 位或 4 位格式的年。格式:YY 或 YYYY
    2 位格式 YY 范围:70 到 69,表示从 1970 到 2069
    4 位格式 YYYY 范围:1901 到 2155

  • DATETIME()
    日期和时间的组合。
    格式:YYYY-MM-DD HH:MM:SS
    范围: ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’

  • TIMESTAMP()
    时间戳。TIMESTAMP 值使用 Unix 纪元(‘1970-01-01 00:00:00’ UTC) 至今的描述来存储。
    格式:YYYY-MM-DD HH:MM:SS
    范围: ‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-09 03:14:07’ UTC