我应该将字段 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)