在MySQL中,创建表时需要为每个字段选择合适的数据类型。数据类型决定了字段可以存储的数据范围和格式。以下是一些常用的MySQL数据类型:
-
整数类型:
- TINYINT:1字节有符号整数,范围从-128到127。
- SMALLINT:2字节有符号整数,范围从-32,768到32,767。
- MEDIUMINT:3字节有符号整数,范围从-8,388,608到8,388,607。
- INT:4字节有符号整数,范围从-2,147,483,648到2,147,483,647。
- BIGINT:8字节有符号整数,范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
-
无符号整数类型(非负数):
- UNSIGNED TINYINT、UNSIGNED SMALLINT、UNSIGNED MEDIUMINT、UNSIGNED INT、UNSIGNED BIGINT:与有符号整数类型相似,但只能存储非负数。
-
浮点数和定点数类型:
- FLOAT:单精度浮点数,4字节。
- DOUBLE:双精度浮点数,8字节。
- DECIMAL:定点数,存储精确的小数。
-
日期和时间类型:
- DATE:日期,格式为YYYY-MM-DD。
- TIME:时间,格式为HH:MI:SS。
- DATETIME:日期和时间,格式为YYYY-MM-DD HH:MI:SS。
- TIMESTAMP:时间戳,格式为YYYY-MM-DD HH:MI:SS。
-
字符串类型:
- CHAR:固定长度的字符串。
- VARCHAR:可变长度的字符串,最大长度可达65,535个字符。
- TINYTEXT:可变长度的字符串,最大长度为255个字符。
- TEXT:可变长度的字符串,最大长度为65,535个字符。
- MEDIUMTEXT:可变长度的字符串,最大长度为16,777,215个字符。
- LONGTEXT:可变长度的字符串,最大长度为4,294,967,295个字符。
-
二进制类型:
- BINARY:固定长度的二进制数据。
- VARBINARY:可变长度的二进制数据,最大长度可达65,535字节。
- TINYBLOB:可变长度的二进制数据,最大长度为255字节。
- BLOB:可变长度的二进制数据,最大长度为65,535字节。
- MEDIUMBLOB:可变长度的二进制数据,最大长度为16,777,215字节。
- LONGBLOB:可变长度的二进制数据,最大长度为4,294,967,295字节。
-
枚举类型:
- ENUM:枚举类型,允许在列表中选择一个值。
-
集合类型:
- SET:集合类型,允许在列表中选择多个值。
在选择数据类型时,请根据实际需求和数据特性来选择合适的类型。例如,对于年龄这样的整数数据,可以使用SMALLINT类型;对于价格这样的小数数据,可以使用DECIMAL类型。