MySQL中的数值类型
MySQL是一种广泛使用的关系型数据库管理系统。在MySQL中,数值类型是其中一种重要的数据类型。本文将详细讨论MySQL中的数值类型,并提供一些代码示例和运行结果。
1. 整数类型
MySQL提供了多种整数类型,每种类型都有不同的取值范围和存储空间。下面是MySQL中一些常见的整数类型:
- TINYINT:1字节,范围为-128至127或0至255。
- SMALLINT:2字节,范围为-32768至32767或0至65535。
- MEDIUMINT:3字节,范围为-8388608至8388607或0至16777215。
- INT:4字节,范围为-2147483648至2147483647或0至4294967295。
- BIGINT:8字节,范围为-9223372036854775808至9223372036854775807或0至18446744073709551615。
以下是一个创建并插入数据到整数类型列的示例:
CREATE TABLE numbers (
id INT,
tinyint_col TINYINT,
smallint_col SMALLINT,
mediumint_col MEDIUMINT,
int_col INT,
bigint_col BIGINT
);
INSERT INTO numbers (id, tinyint_col, smallint_col, mediumint_col, int_col, bigint_col)
VALUES (1, 10, 100, 1000, 10000, 100000);
展示表中的数据:
SELECT * FROM numbers;
运行结果:
+------+------+------+------+--------+-----------+
| id | tinyint_col | smallint_col | mediumint_col | int_col | bigint_col |
+------+------+------+------+--------+-----------+
| 1 | 10 | 100 | 1000 | 10000 | 100000 |
+------+------+------+------+--------+-----------+
2. 浮点数类型
除了整数类型,MySQL还有许多浮点数类型可供选择。浮点数类型有不同的精度和存储大小。
- FLOAT:单精度浮点数,4字节,适合存储相对较小的浮点数。
- DOUBLE:双精度浮点数,8字节,用于存储更大范围和更高精度的浮点数。
以下是一个创建并插入数据到浮点数类型列的示例:
CREATE TABLE float_numbers (
id INT,
float_col FLOAT,
double_col DOUBLE
);
INSERT INTO float_numbers (id, float_col, double_col)
VALUES (1, 3.14, 3.141592653589793);
展示表中的数据:
SELECT * FROM float_numbers;
运行结果:
+------+------+------------+
| id | float_col | double_col |
+------+------+------------+
| 1 | 3.14 | 3.141593 |
+------+------+------------+
3. 定点数类型
除了浮点数类型,MySQL还提供了定点数类型,用于精确存储小数。定点数类型有不同的精度和范围。
- DECIMAL(M, D):指定总位数和小数位数的定点数。M是总位数,D是小数位数。
以下是一个创建并插入数据到定点数类型列的示例:
CREATE TABLE decimal_numbers (
id INT,
decimal_col DECIMAL(5, 2)
);
INSERT INTO decimal_numbers (id, decimal_col)
VALUES (1, 123.45);
展示表中的数据:
SELECT * FROM decimal_numbers;
运行结果:
+------+------+-------------+
| id | decimal_col |
+------+------+-------------+
| 1 | 123.45 |
+------+------+-------------+
4. 其他数值类型
除了上述提到的数值类型,MySQL还提供了其他一些特殊的数值类型,如以下几种:
- BIT:存储位值的类型,取值范围为0和1。
- BOOLEAN:存储逻辑值(TRUE或FALSE)的类型。
以下是一个创建并插入数据到BIT和BOOLEAN类型列的示例:
CREATE TABLE other_numbers (
id INT,
bit_col BIT(4),
boolean_col BOOLEAN
);
INSERT INTO other_numbers (id, bit_col, boolean_col)
VALUES (1, b'1010', TRUE);
展示表中的数据:
SELECT * FROM other_numbers;
运行结果:
+------+------+--------------+
| id | bit_col | boolean_col |
+------+------+--------------+
| 1 | 1010 | 1 |
+------+------+--------------+
5. 总结
MySQL提供了多种数值类型,用于存储不同范围和精度的数值数据。通过选择适当的数值类型,可以在数据库中高效地存储和处理数值数据。在设计数据库表时,应根据具体的需求选择合适的数值类型,并注意控制存储空间和保持数据的准确性。