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