我应该将字段 PRICE 存储为数据库中的 int 还是 float?

mysqlmysqli database

您不需要将字段 PRICE 存储为数据库中的 int 或 float。为此,您可以设置 DECIMAL()。

大多数情况下,整数可用于表示浮点数,这些整数在内部转换为 DECIMAL() 数据类型。因此,如果您有字段 PRICE,则始终使用 DECIMAL() 数据类型。语法如下 −

DECIMAL(M,D);

这里,M 代表"TotalNumberOfDigit"而 D 代表"小数点后数字的个数"。

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

mysql> create table Decimal_Demo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> PRICE DECIMAL(18,2),
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (1.63 sec)

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

mysql> insert into Decimal_Demo(PRICE) values(99999999999999.99);
Query OK, 1 row affected (0.11 sec)
mysql> insert into Decimal_Demo(PRICE) values(10000000000000.99);
Query OK, 1 row affected (0.36 sec)

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

mysql> select *from Decimal_Demo;

以下是输出 −

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

相关文章