数值类型:
- TINYINT:范围为-128到127的整数类型。 - SMALLINT:范围为-32768到32767的整数类型。 - MEDIUMINT:范围为-8388608到8388607的整数类型。 - INT或INTEGER:范围为-2147483648到2147483647的整数类型。 - BIGINT:范围为-9223372036854775808到9223372036854775807的整数类型。 - FLOAT(p):带有浮点小数的单精度浮点数类型。 - DOUBLE(p, d):带有浮点小数的双精度浮点数类型。 - DECIMAL(p, d):精确小数类型,其中p是总位数,d是小数位数。
日期和时间类型:
- DATE:日期类型,YYYY-MM-DD格式。 - TIME:时间类型,HH:MM:SS格式。 - DATETIME:日期和时间类型,YYYY-MM-DD HH:MM:SS格式。 - TIMESTAMP:类似DATETIME类型,但存储为Unix时间戳。 - YEAR:年份类型,YYYY或YY格式。
字符串类型:
- CHAR(n):固定长度的字符串类型,最多包含n个字符。 - VARCHAR(n):可变长度的字符串类型,最多包含n个字符。 - TINYTEXT:最多包含255个字符的文本类型。 - TEXT:最多包含65535个字符的文本类型。 - MEDIUMTEXT:最多包含16777215个字符的文本类型。 - LONGTEXT:最多包含4294967295个字符的文本类型。 - BLOB:最多包含65535个字节的二进制数据类型。 - MEDIUMBLOB:最多包含16777215个字节的二进制数据类型。 - LONGBLOB:最多包含4294967295个字节的二进制数据类型。
枚举类型:
- ENUM('value1', 'value2', ...):只能包含列表中的值的枚举类型。 - SET('value1', 'value2', ...):包含列表中的一个或多个值的集合类型。
空类型:
- NULL:空类型,值为NULL。
其他类型:
- JSON:存储JSON数据的类型。
以上是MySQL数据库中的所有字段类型。在创建表时,选择正确的数据类型有助于保护数据完整性并提高性能。