1、整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) 3个字节 范围(-8388608~8388607) int(m) 4个字节 范围(-2147483648~2147483647) bigint(m) 8个字节 范围(+-9.22*10的18次方) 取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。 int(m)里的m是表示SELECT查询结果集中的显示宽度 MySQL 数据类型是数据库设计的基础,理解每种类型的特点和适用场景对于优化数据库性能至关重要。以下是对MySQL主要数据类型的详细介绍: 1. **整型**: - `TINYINT(m)`: 占用1个字节,有符号时范围是-128到127,无符号时范围是0到255。 - `SMALLINT(m)`: 占用2个字节,有符号时范围是-32768到32767,无符号时范围是0到65535。 - `MEDIUMINT(m)`: 占用3个字节,有符号时范围是-8388608到8388607,无符号时范围是0到16777215。 - `INT(m)` 或 `INTEGER(m)`: 占用4个字节,有符号时范围是-2147483648到2147483647,无符号时范围是0到4294967295。 - `BIGINT(m)`: 占用8个字节,有符号时范围是-9223372036854775808到9223372036854775807,无符号时范围是0到18446744073709551615。 - `m` 表示显示宽度,但并不影响实际的取值范围。 2. **浮点型**: - `FLOAT(m,d)`: 单精度浮点型,8位精度(4字节),`m` 总共的数字个数,`d` 小数位数。例如,`FLOAT(5,3)` 存储的数字最多是5位,其中3位是小数,如123.456。 - `DOUBLE(m,d)`: 双精度浮点型,16位精度(8字节),`m` 和 `d` 的含义同上。 3. **定点数**: - `DECIMAL(m,d)`: 提供精确的数值计算,不丢失精度。`m` 总数字个数,`d` 小数位数,最大不超过65位数字,其中30位可以是小数。 4. **字符串**: - `CHAR(n)`: 固定长度的字符串,最多255个字符。不足长度的字符用空格填充,查询时会去掉空格。 - `VARCHAR(n)`: 可变长度的字符串,最多65535个字符。比`CHAR`节省空间,因为只存储实际字符数。 - `_TEXT` 类型包括 `TINYTEXT`, `TEXT`, `MEDIUMTEXT`, 和 `LONGTEXT`,用于存储大量文本,最长可达4GB。`TEXT` 类型的存储方式与`VARCHAR`不同,且不能指定长度,但可以指定字符集。 5. **二进制数据**: - `_BLOB` 类型包括 `TINYBLOB`, `BLOB`, `MEDIUMBLOB`, 和 `LONGBLOB`,用于存储二进制数据,如图片或文件。`BLOB` 以二进制方式存储,不区分大小写,`TEXT` 对英文区分大小写。 6. **日期时间类型**: - `DATE`: 存储日期,格式为'YYYY-MM-DD'。 - `TIME`: 存储时间,格式为'HH:MM:SS'。 - `DATETIME`: 存储日期和时间,格式为'YYYY-MM-DD HH:MM:SS'。 - `TIMESTAMP`: 存储日期和时间,与`DATETIME`类似,但更节省空间。自动存储记录修改时间,当记录更新时会自动更新该字段的值。 在设计数据库时,选择适当的数据类型能提高存储效率、减少存储空间并提高查询性能。例如,对于不需要精确数值计算的场景,使用整型可能更合适;对于存储大量文本数据,应考虑`TEXT`或`BLOB`类型;对于日期和时间的记录,`DATE`、`TIME`和`DATETIME`是理想选择。同时,合理设置是否允许`NULL`、默认值、主键和自增属性,也是优化数据库设计的关键。
- 粉丝: 15
- 资源: 943
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助