2024年07月19日 mysql数据类型decimal 极客笔记

在MySQL中,DECIMAL是一种精确数字数据类型,用于存储具有真实小数点的数字。与FLOAT和DOUBLE等浮点数数据类型不同,DECIMAL以固定的精度和范围存储数字,适用于需要精确计算的场景,如财务和精确计算。
DECIMAL(precision, scale)
precision 表示总共的位数,包括小数点前和小数点后的位数。scale 表示小数点后的位数。例如,DECIMAL(10,2)可以存储最大10位数字,其中小数点后有2位。
DECIMAL适用于需要精确计算的场景,如金融领域。FLOAT和DOUBLE,DECIMAL占用的存储空间较大。DECIMAL在处理货币和计数值时非常有用。假设我们有一个表t_prices用于存储商品价格,我们可以使用DECIMAL类型来存储价格信息。
CREATE TABLE t_prices (
id INT PRIMARY KEY,
product_name VARCHAR(50),
price DECIMAL(10, 2)
);
INSERT INTO t_prices (id, product_name, price) VALUES (1, 'Apple', 3.50);
INSERT INTO t_prices (id, product_name, price) VALUES (2, 'Banana', 1.20);
INSERT INTO t_prices (id, product_name, price) VALUES (3, 'Orange', 2.75);
SELECT * FROM t_prices;
上述示例创建了一个名为t_prices的表,包含id、product_name和price三个字段,其中price字段使用DECIMAL(10, 2)类型存储商品价格。插入了三种水果的价格,并查询表中的数据。
运行结果如下:
id | product_name | price
-------------------------
1 | Apple | 3.50
2 | Banana | 1.20
3 | Orange | 2.75
DECIMAL是一种精确数字数据类型,在需要精确计算和存储小数的场景中很有用。虽然占用的存储空间较大,但能够确保数据的精确性,特别适用于对精度要求较高的领域。在设计数据库时,根据实际需求选择合适的数据类型是非常重要的。
本文链接:http://so.lmcjl.com/news/8748/