MySQL数值数据类型详解:整型、浮点型与定点数

1 下载量 7 浏览量 更新于2024-09-03 收藏 105KB PDF 举报
MySQL 数据类型详解 MySQL 数据库管理系统提供了多种数据类型,用于存储不同类型的数据,包括数值类型、字符串类型、日期和时间类型等。本篇文章主要关注数值类型,尤其是整型、浮点型以及定点数。 1. 整型 - tinyint(m): 1个字节,范围为-128到127,如果指定unsigned,则范围为0到255。 - smallint(m): 2个字节,范围为-32768到32767,unsigned时范围为0到65535。 - mediumint(m): 3个字节,范围为-8388608到8388607,unsigned时范围为0到16777215。 - int(m): 4个字节,范围为-2147483648到2147483647,unsigned时范围为0到4294967295。 - bigint(m): 8个字节,范围为-9223372036854775808到9223372036854775807,unsigned时范围为0到18446744073709551615。 - 注意,m表示显示宽度,不影响实际取值范围,仅用于显示格式。 2. 浮点型 (float和double) - float(m,d): 单精度浮点型,占用4字节,m是总位数,d是小数位数。例如,float(5,3)可以存储最大6位数字,其中3位是小数。 - double(m,d): 双精度浮点型,占用8字节,精度更高。例如,double(5,3)同样存储6位数字,但有更高的精度。 - 存储时,超出小数位数的部分会被截断,但总位数仍然根据实际输入确定。 3. 定点数 (decimal) - decimal(m,d): 提供精确数值计算,避免浮点数的不精确性。m是总位数,d是小数位数,m<65且d<30,且d<m。例如,decimal(5,2)可以存储最多5位数字,其中2位是小数。 4. 字符串类型 (char, varchar, text) - char(n): 固定长度字符串,最多255个字符,不足n个字符会用空格填充,查询时自动去除空格。 - varchar(n): 可变长度字符串,最多65535个字符,只存储实际使用的字符数量。 - tinytext, text, mediumtext, longtext: 分别代表不同大小的可变长度文本,最长可达2的32次方-1个字符。 - char(n)与varchar(n)的区别在于char是固定长度,而varchar则根据实际内容长度存储,更节省空间,但char在存储和比较时可能更快。 在设计数据库表结构时,选择合适的数据类型至关重要,它不仅影响存储效率,还直接影响到数据的正确性和查询性能。因此,理解并合理使用MySQL的数据类型是数据库管理的基础。