我应该将字段PRICE作为int或float形式存储在数据库中吗?

您无需在数据库中将字段PRICE作为int或float形式存储。为此,您可以设置DECIMAL()..

大多数时间整数可以用来表示浮点数,并且这些整数在内部转换为DECIMAL()数据类型。因此,如果您具有PRICE字段,则始终使用DECIMAL()数据类型。语法如下-

DECIMAL(M,D);

在此,M代表“ TotalNumberOfDigit”,D代表“ Number OfDigitAfterDecimalPoint”。

为了理解上述概念,让我们创建一个表,其中字段PRICE为DECIMAL数据类型。查询如下-

mysql> create table Decimal_Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> PRICE DECIMAL(18,2),
   -> PRIMARY KEY(Id)
   -> );

使用insert命令在表中插入一些记录。查询如下-

mysql> insert into Decimal_Demo(PRICE) values(99999999999999.99);
mysql> insert into Decimal_Demo(PRICE) values(10000000000000.99);

现在,您可以使用select语句显示表中的所有记录。查询如下-

mysql> select *from Decimal_Demo;

以下是输出-

+----+-------------------+
| Id | PRICE             |
+----+-------------------+
|  1 | 99999999999999.99 |
|  2 | 10000000000000.99 |
+----+-------------------+
2 rows in set (0.00 sec)