MySQL中的DECIMAL
和INT
是两种不同的数据类型,用于存储数值数据。
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(无符号)。DECIMAL(M,D)
:M是总位数,D是小数位数。例如,DECIMAL(10,2)
表示最多10位数字,其中2位是小数。原因:
FLOAT
和DOUBLE
是浮点数类型,存在精度问题,特别是在进行复杂的数学计算时。DECIMAL
提供了更高的精度,适用于需要精确计算的场景,如金融数据。解决方法:
DECIMAL
类型来存储和计算需要精确小数的数据。解决方法:
INT
。DECIMAL
。-- 创建表时使用INT和DECIMAL
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
price DECIMAL(10, 2)
);
-- 插入数据
INSERT INTO products (name, price) VALUES ('Laptop', 999.99);
INSERT INTO products (name, price) VALUES ('Smartphone', 699.99);
-- 查询数据
SELECT * FROM products;
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云