23
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi là người mới bắt đầu trong MySQL và tôi đã vô tình tạo một bảng với một cột có tên
[price decimal[2,2]];
Nó cần phải là
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
0 để cho phép 4 chữ số. Vì tôi đã tạo nó, cách dễ nhất để cập nhật giá trị thập phân đó lên ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
0 là gì? Hay tôi cần phải thả hoàn toàn cột đó và tạo lại nó với các số chính xác?
Jon Schneider
24.3K21 Huy hiệu vàng140 Huy hiệu bạc165 Huy hiệu đồng21 gold badges140 silver badges165 bronze badges
Đã hỏi ngày 4 tháng 11 năm 2013 lúc 17:12Nov 4, 2013 at 17:12
ValleyDigitalValleyDigitalValleyDigital
1.4104 Huy hiệu vàng20 Huy hiệu bạc37 Huy hiệu đồng4 gold badges20 silver badges37 bronze badges
ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
example:
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
Đã trả lời ngày 4 tháng 11 năm 2013 lúc 17:17Nov 4, 2013 at 17:17
Eduardo Denniseduardo DennisEduardo Dennis
13.3K13 Huy hiệu vàng79 Huy hiệu bạc105 Huy hiệu Đồng13 gold badges79 silver badges105 bronze badges
Chỉ
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
2 với lệnh ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
3:ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
Điều này sẽ cho phép 2 số thập phân và 2 số đầy đủ [lên đến
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
4]. Nếu bạn muốn có 4 số đầy đủ, hãy sử dụng ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
5 thay thế [cho phép tối đa ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
6].Đã trả lời ngày 4 tháng 11 năm 2013 lúc 17:15Nov 4, 2013 at 17:15
1
Đây không phải là vấn đề 'cập nhật', vấn đề thay đổi cấu trúc bảng của bạn. Đối với điều đó, sử dụng bảng thay đổi với mệnh đề
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
3:ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
Bản demo SQLfiddle
Đã trả lời ngày 4 tháng 11 năm 2013 lúc 17:16Nov 4, 2013 at 17:16
Filipe Silvafilipe SilvaFilipe Silva
20,8K5 Huy hiệu vàng 50 Huy hiệu bạc67 Huy hiệu Đồng5 gold badges50 silver badges67 bronze badges
sử dụng thay đổi
ALTER TABLE table_name CHANGE OLD_COLUMN_NAME OLD_COLUMN_NAME datatype;
một ví dụ
ALTER TABLE table_name CHANGE price price decimal[4,2];
Đã trả lời ngày 26 tháng 12 năm 2016 lúc 12:44Dec 26, 2016 at 12:44
Dennydennydenny
1.9942 Huy hiệu vàng14 Huy hiệu bạc19 Huy hiệu đồng2 gold badges14 silver badges19 bronze badges
1
Bạn có thể thay đổi nó một cách linh hoạt:-
ALTER TABLE ".$row["table_name"]." MODIFY ".$row1["Field"]." decimal[".$rdataType[0].",".$increaseValue."]
Để biết thêm thông tin:
Kho
Rohit Gupta
3,53312 Huy hiệu vàng26 Huy hiệu bạc40 Huy hiệu đồng12 gold badges26 silver badges40 bronze badges
Đã trả lời ngày 21 tháng 6 lúc 12:33Jun 21 at 12:33
NazmulnazmulNazmul
12 Huy hiệu bạc3 Huy hiệu Đồng2 silver badges3 bronze badges
Tóm tắt: Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho bạn loại dữ liệu thập phân MySQL và cách sử dụng nó một cách hiệu quả trong bảng cơ sở dữ liệu của bạn.: in this tutorial, we will introduce you to the MySQL DECIMAL data type and how to use it effectively in your database table.
Giới thiệu về kiểu dữ liệu thập phân MySQL
Kiểu dữ liệu thập phân MySQL được sử dụng để lưu trữ các giá trị số chính xác trong cơ sở dữ liệu. Chúng tôi thường sử dụng kiểu dữ liệu thập phân cho các cột & nbsp; bảo tồn độ chính xác chính xác, ví dụ: dữ liệu tiền trong các hệ thống kế toán.
Để xác định một cột có kiểu dữ liệu là thập phân, bạn sử dụng cú pháp sau:
Code language: SQL [Structured Query Language] [sql]
column_name DECIMAL[P,D];
Trong & nbsp; cú pháp ở trên:
- P là độ chính xác đại diện cho số chữ số quan trọng. Phạm vi của P là 1 đến 65.
- D là tỷ lệ đại diện cho số chữ số sau điểm thập phân. Phạm vi của D là 0 và 30. MySQL yêu cầu D nhỏ hơn hoặc bằng [
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
8 có nghĩa là cột có thể lưu trữ lên các chữ số P với d & nbsp; số thập phân. Phạm vi thực tế của cột thập phân phụ thuộc vào độ chính xác và tỷ lệ.Bên cạnh từ khóa
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9, bạn cũng có thể sử dụng ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
0, ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
1 hoặc ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
2 vì chúng là từ đồng nghĩa với ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9.Giống như kiểu dữ liệu INT, loại
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9 & nbsp; cũng có các thuộc tính ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
5 và ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6. Nếu chúng ta sử dụng thuộc tính & nbsp; ________ 35, cột có ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
8 sẽ không chấp nhận các giá trị âm.Trong trường hợp chúng tôi sử dụng
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6, MySQL sẽ đệm giá trị hiển thị bằng 0 & nbsp; Up để hiển thị chiều rộng được chỉ định bởi định nghĩa cột. Ngoài ra, nếu chúng ta sử dụng ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
0 cho cột ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9, MySQL sẽ tự động thêm & NBSP; ____ 35 35 vào cột.Ví dụ sau đây xác định cột số lượng với kiểu dữ liệu
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9.Code language: SQL [Structured Query Language] [sql]
amount DECIMAL[6,2];
Trong ví dụ này, cột số lượng có thể lưu trữ 6 chữ số với 2 số thập phân; Do đó, phạm vi của cột số tiền là từ 9999,99 đến -9999,99.
MySQL cho phép chúng tôi sử dụng cú pháp sau:
ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
0Điều này tương đương với:
ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
1Trong trường hợp này, cột không chứa phần phân số hoặc dấu thập phân.
Ngoài ra, chúng tôi thậm chí có thể sử dụng cú pháp sau.
ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
2Giá trị mặc định của p là 10 trong trường hợp này.
Lưu trữ thập phân MySQL
MySQL chỉ định lưu trữ cho các bộ phận số nguyên và phân số riêng biệt. MySQL sử dụng định dạng nhị phân để lưu trữ các giá trị
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9. Nó đóng gói 9 chữ số thành 4 byte.Đối với mỗi phần, phải mất 4 byte để lưu trữ mỗi bội số 9 chữ số. Bộ lưu trữ cần thiết cho các chữ số còn sót lại được minh họa trong bảng sau:
0 | 0 |
1 trận2 | 1 |
3 trận4 | 2 |
5 trận6 | 3 |
7 trận9 | 4 |
Ví dụ,
ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
5 có 9 chữ số cho phần phân số và 19-9 = 10 chữ số cho phần số nguyên. Phần phân số yêu cầu 4 byte. Phần nguyên yêu cầu 4 byte cho 9 chữ số đầu tiên, cho 1 chữ số còn lại, nó yêu cầu thêm 1 byte. Tổng cộng, cột ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
5 yêu cầu 9 byte.Kiểu dữ liệu thập phân MySQL và dữ liệu tiền tệ
Chúng tôi thường & nbsp; sử dụng kiểu dữ liệu
ALTER TABLE YourTableNameHere MODIFY COLUMN YourColumnNameHere decimal[4,2]
9 cho dữ liệu tiền tệ như giá cả, tiền lương, số dư tài khoản, v.v. Nếu bạn thiết kế cơ sở dữ liệu xử lý dữ liệu tiền tệ, cú pháp sau sẽ ổn.ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
3Tuy nhiên, nếu bạn muốn tuân thủ các quy tắc nguyên tắc kế toán được chấp nhận chung [GAAP], cột tiền tệ phải có ít nhất 4 vị trí thập phân để đảm bảo rằng giá trị làm tròn không vượt quá 0,01 đô la. Trong trường hợp này, bạn nên xác định cột với 4 vị trí thập phân như sau:
ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
4Đầu tiên, tạo một bảng mới có tên
ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
8 với ba cột: ID, mô tả và chi phí.ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
5Thứ hai, chèn dữ liệu vào bảng
ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
9.ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
6Thứ ba, dữ liệu truy vấn từ bảng
ALTER TABLE YourTableName MODIFY COLUMN price DECIMAL[4,2];
9.ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
7Fourth, thay đổi cột chi phí để bao gồm & nbsp; thuộc tính ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6.Fourth, change the cost column to include the
ALTER TABLE `table` MODIFY `price` DECIMAL[4,2]
6 attribute.ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
8Thứ năm, truy vấn bảng vật liệu một lần nữa.
ALTER TABLE mytable MODIFY COLUMN mycolumn newtype
7a bạn thấy, chúng ta có nhiều số không được đệm trong các giá trị đầu ra.As you see, we have many zeros padded in the output values.
Trong hướng dẫn này, chúng tôi đã hiển thị & nbsp; đã cung cấp cho bạn thông tin chi tiết về kiểu dữ liệu thập phân MySQL và chỉ cho bạn cách áp dụng nó vào các cột lưu trữ dữ liệu số chính xác như dữ liệu tài chính.
Hướng dẫn này có hữu ích không?