Computer >> Máy Tính >  >> Lập trình >> MySQL

Tôi có nên lưu trữ trường PRICE dưới dạng int hay float trong cơ sở dữ liệu không?

Bạn không cần phải lưu trữ trường PRICE dưới dạng int hoặc float trong cơ sở dữ liệu. Đối với điều này, bạn có thể đặt DECIMAL () ..

Hầu hết thời gian các số nguyên có thể được sử dụng để biểu diễn các số dấu phẩy động và các số nguyên này được truyền nội bộ thành kiểu dữ liệu DECIMAL (). Do đó, nếu bạn có trường PRICE thì hãy luôn sử dụng kiểu dữ liệu DECIMAL (). Cú pháp như sau -

DECIMAL(M,D);

Ở đây, M đại diện cho ‘TotalNumberOfDigit’ và D đại diện cho ‘Number OfDigitAfterDecimalPoint’.

Để hiểu khái niệm trên, chúng ta hãy tạo một bảng với trường PRICE là kiểu dữ liệu DECIMAL. Truy vấn như sau -

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)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

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)

Bây giờ bạn có thể hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

mysql> select *from Decimal_Demo;

Sau đây là kết quả -

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