In mysql, the amount uses the "DECIMAL" type. The DECIMAL type is a data type specially designed for financial-related problems. It can solve the problem of data range and accuracy. It is often used for monetary data, such as prices, wages, account balances, etc.; it is actually stored in the form of a string. The number of digits in the integer part and the decimal part can be demarcated when defining. The syntax is "DECIMAL(M,D)". The parameter M is the maximum number of numbers (precision), and the parameter D is the number of digits to the right of the decimal point (scale).
The operating environment of this tutorial: windows7 system, mysql8 version, Dell G3 computer.
In mysql, the amount uses the "DECIMAL" type.
Decimal (fixed-point number) is a data type specially designed for financial-related problems, which can solve the problem of data range and accuracy.
DECIMAL was introduced from MySQL 5.1, and the column declaration syntax is DECIMAL(M,D). In MySQL 5.1, the value range of the parameter is as follows:
M is the maximum number of numbers (precision). Its range is 1 to 65 (in older MySQL versions, the allowed range is 1 to 254), and the default value of M is 10.
D is the number of digits to the right of the decimal point (scale). Its range is 0~30, but it must not exceed M.
Explanation: float occupies 4 bytes, double occupies 8 bytes, and decimail(M,D) occupies M 2 bytes.
For example, the maximum value of DECIMAL(5,2) is 9 9 9 9 . 9 9 because there are 7 bytes available.
The DECIMAL type is different from FLOAT and DOUBLE. DOUBLE is actually stored in the form of a string. The possible maximum value range of DECIMAL is the same as DOUBLE, but the effective value range is determined by M and D. If M is changed and D is fixed, the value range will become larger as M becomes larger.
Emphasize: In MySQL, fixed-point numbers are stored in string form. When precision requirements are relatively high (such as currency, scientific data), use The type of DECIMAL is better. It is also easy to cause problems when subtracting and comparing two other floating-point numbers. Therefore, you need to pay attention when using floating-point numbers and try to avoid floating-point comparisons.
MySQL DECIMAL data type and monetary data
We often use the DECIMAL data type for monetary data, such as prices, wages, account balances, etc. If you are designing a database that handles monetary data, the following syntax should be fine.
amount DECIMAL(19,2);
However, if you want to comply with Generally Accepted Accounting Principles (GAAP) rules, the currency column must contain at least 4 decimal places to ensure that the rounded value does not exceed $0.01. In this case, you should define a column with 4 decimal places like this:
amount DECIMAL(19,4);
MySQL DECIMAL data type example
First, create a new The table name materials has three fields: id, description and cost.
CREATE TABLE materials ( id INT AUTO_INCREMENT PRIMARY KEY, description VARCHAR(255), cost DECIMAL(19 , 4 ) NOT NULL );
Secondly, insert data into the materials table.
INSERT INTO materials(description,cost) VALUES('Bicycle', 500.34),('Seat',10.23),('Break',5.21);
Third, query data materials from the table.
SELECT * FROM materials;
Fourth, modify the cost column to include the ZEROFILL attribute.
ALTER TABLE materials MODIFY cost DECIMAL(19,4) zerofill;
Five, query the material table again.
SELECT * FROM materials;
As you can see, we have padded the output value with a lot of zeros.
[Related recommendations: mysql video tutorial]
The above is the detailed content of What type is used for amounts in mysql?. For more information, please follow other related articles on the PHP Chinese website!

MySQLstringtypesimpactstorageandperformanceasfollows:1)CHARisfixed-length,alwaysusingthesamestoragespace,whichcanbefasterbutlessspace-efficient.2)VARCHARisvariable-length,morespace-efficientbutpotentiallyslower.3)TEXTisforlargetext,storedoutsiderows,

MySQLstringtypesincludeVARCHAR,TEXT,CHAR,ENUM,andSET.1)VARCHARisversatileforvariable-lengthstringsuptoaspecifiedlimit.2)TEXTisidealforlargetextstoragewithoutadefinedlength.3)CHARisfixed-length,suitableforconsistentdatalikecodes.4)ENUMenforcesdatainte

MySQLoffersvariousstringdatatypes:1)CHARforfixed-lengthstrings,2)VARCHARforvariable-lengthtext,3)BINARYandVARBINARYforbinarydata,4)BLOBandTEXTforlargedata,and5)ENUMandSETforcontrolledinput.Eachtypehasspecificusesandperformancecharacteristics,sochoose

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

ToaddusersinMySQLeffectivelyandsecurely,followthesesteps:1)UsetheCREATEUSERstatementtoaddanewuser,specifyingthehostandastrongpassword.2)GrantnecessaryprivilegesusingtheGRANTstatement,adheringtotheprincipleofleastprivilege.3)Implementsecuritymeasuresl

ToaddanewuserwithcomplexpermissionsinMySQL,followthesesteps:1)CreatetheuserwithCREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';.2)Grantreadaccesstoalltablesin'mydatabase'withGRANTSELECTONmydatabase.TO'newuser'@'localhost';.3)Grantwriteaccessto'

The string data types in MySQL include CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and TEXT. The collations determine the comparison and sorting of strings. 1.CHAR is suitable for fixed-length strings, VARCHAR is suitable for variable-length strings. 2.BINARY and VARBINARY are used for binary data, and BLOB and TEXT are used for large object data. 3. Sorting rules such as utf8mb4_unicode_ci ignores upper and lower case and is suitable for user names; utf8mb4_bin is case sensitive and is suitable for fields that require precise comparison.

The best MySQLVARCHAR column length selection should be based on data analysis, consider future growth, evaluate performance impacts, and character set requirements. 1) Analyze the data to determine typical lengths; 2) Reserve future expansion space; 3) Pay attention to the impact of large lengths on performance; 4) Consider the impact of character sets on storage. Through these steps, the efficiency and scalability of the database can be optimized.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

Dreamweaver CS6
Visual web development tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Atom editor mac version download
The most popular open source editor
