MySQL 数据类型详解

需积分: 9 1 下载量 64 浏览量 更新于2024-09-11 收藏 3KB TXT 举报
本文主要介绍了MySQL数据库中的各种数据类型,包括整型、浮点型、时间日期型以及字符串型。 在MySQL中,数据类型的选择对于存储数据的方式和效率至关重要。以下是对各类型的具体说明: 1. 整型: - `TINYINT`:占用1个字节,可存储-128到127之间的整数,无符号时范围为0到255。 - `SMALLINT`:占用2个字节,有符号时范围为-32768到32767,无符号时范围为0到65535。 - `MEDIUMINT`:占用3个字节,有符号时范围较大,无符号时同样如此。 - `INT`或`INTEGER`:占用4个字节,有符号时范围为-2^31到2^31-1,无符号时为0到2^32-1。 - `BIGINT`:占用8个字节,有符号时范围为-2^63到2^63-1,无符号时为0到2^64-1。如果需要存储大整数,可以选择此类型。 2. 浮点型: - `FLOAT`:占用4个字节,可存储大约7位小数的精度。 - `DOUBLE`:占用8个字节,提供更高的精度,可存储大约15位小数。`FLOAT(M,D)`和`DOUBLE(M,D)`中的M表示总位数,D表示小数位数。 3. 时间日期型: - `DATETIME`:用于存储日期和时间,格式为`YYYY-mm-dd HH:ii:ss`,可以表示从1000年到9999年的日期和时间。 - `DATE`:仅存储日期,格式为`YYYY-mm-dd`。 - `TIME`:仅存储时间,格式为`HH:ii:ss`。 - `TIMESTAMP`:与`DATETIME`类似,但通常用于记录数据的修改时间,且默认只保存当前时区的时间,可以节省空间。 - `YEAR`:用于存储4位数的年份。 4. 字符串型: - `CHAR`:固定长度的字符串,例如`CHAR(4)`,即使输入的字符不足也会用空格填充至指定长度,最多255个字符。 - `VARCHAR`:变长字符串,根据实际内容长度占用空间,最多可存储65535个字符。 - `TEXT`:用于存储大量文本,最长可达65535个字符。 - `BLOB`:用于存储二进制大对象,如图片或文件,最大可达4GB。 - `ENUM`:预定义的枚举类型,只能存储列表中的一个值,如`ENUM('男', '女')`。 - `SET`:预定义的集合类型,可以存储列表中的多个值,但每个值只能出现一次。 在创建表时,应根据实际需求选择合适的数据类型,以节省存储空间并提高查询效率。例如,性别可以用`ENUM`,爱好可用`SET`,日期时间则根据需要选择`DATE`、`TIME`、`DATETIME`或`TIMESTAMP`。正确使用数据类型是数据库设计的基础,能够有效避免数据溢出和不必要的性能问题。