Bird
Raised Fist0
MySQLquery~5 mins

Decimal and floating-point types in MySQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main difference between DECIMAL and FLOAT types in MySQL?
DECIMAL stores exact numeric values with fixed precision and scale, ideal for financial data. FLOAT stores approximate values using floating-point representation, which can introduce rounding errors.
Click to reveal answer
beginner
How do you define a DECIMAL column with 10 digits total and 2 digits after the decimal point?
Use DECIMAL(10,2). This means 10 digits total, with 2 digits to the right of the decimal point.
Click to reveal answer
intermediate
Why might FLOAT or DOUBLE types cause rounding errors in calculations?
FLOAT and DOUBLE use binary floating-point representation, which cannot exactly represent some decimal fractions, causing small rounding errors in calculations.
Click to reveal answer
beginner
Which data type should you use for storing currency values in MySQL and why?
Use DECIMAL because it stores exact values without rounding errors, which is important for accurate financial calculations.
Click to reveal answer
intermediate
What happens if you insert a value with more decimal places than defined in a DECIMAL column?
MySQL rounds the value to fit the defined scale (number of decimal places). For example, inserting 12.345 into DECIMAL(5,2) stores 12.35.
Click to reveal answer
Which MySQL data type stores exact numeric values with fixed precision?
AVARCHAR
BFLOAT
CDECIMAL
DDOUBLE
What does DECIMAL(8,3) mean in MySQL?
A8 digits total, 3 digits after decimal point
B3 digits total, 8 digits after decimal point
C8 digits after decimal point
D3 digits total
Which data type is more likely to cause rounding errors?
ADATE
BDECIMAL
CCHAR
DFLOAT
If you need to store money values accurately, which type should you choose?
ADECIMAL
BDOUBLE
CFLOAT
DTEXT
What happens if you insert 123.4567 into DECIMAL(6,2)?
AStored as 123.45
BStored as 123.46
CError: too many decimal places
DStored as 123.4567
Explain the difference between DECIMAL and FLOAT types in MySQL and when to use each.
Think about precision and rounding.
You got /4 concepts.
    Describe how MySQL handles values with more decimal places than defined in a DECIMAL column.
    Consider what happens to extra digits.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which MySQL data type should you use to store exact monetary values without rounding errors?
      easy
      A. VARCHAR
      B. FLOAT
      C. DECIMAL
      D. DOUBLE

      Solution

      1. Step 1: Understand the purpose of DECIMAL

        DECIMAL stores exact decimal numbers with fixed digits, ideal for money.
      2. Step 2: Compare with FLOAT and DOUBLE

        FLOAT and DOUBLE store approximate values, which can cause rounding errors.
      3. Final Answer:

        DECIMAL -> Option C
      4. Quick Check:

        Exact decimal storage = DECIMAL [OK]
      Hint: Use DECIMAL for exact money values, not FLOAT or DOUBLE [OK]
      Common Mistakes:
      • Choosing FLOAT or DOUBLE for money causing rounding errors
      • Using VARCHAR which stores text, not numbers
      2. Which of the following is the correct syntax to define a DECIMAL column with 8 digits total and 2 digits after the decimal point in MySQL?
      easy
      A. DECIMAL(8,2)
      B. DECIMAL(2,8)
      C. DECIMAL(10,2)
      D. DECIMAL(8)

      Solution

      1. Step 1: Recall DECIMAL syntax

        DECIMAL(M,D) means M total digits, D digits after decimal point.
      2. Step 2: Match given digits

        We want 8 total digits and 2 after decimal, so DECIMAL(8,2) is correct.
      3. Final Answer:

        DECIMAL(8,2) -> Option A
      4. Quick Check:

        DECIMAL(total, decimals) = DECIMAL(8,2) [OK]
      Hint: DECIMAL(M,D): M=total digits, D=digits after decimal [OK]
      Common Mistakes:
      • Swapping M and D values
      • Using DECIMAL(8) which lacks decimal precision
      3. Given the table prices with a column cost FLOAT(7,2), what will be the result of inserting 12345.6789 and then selecting cost?
      medium
      A. 12345.679
      B. 12345.68
      C. 12345.67
      D. 12345.000

      Solution

      1. Step 1: Understand FLOAT(7,2) meaning

        FLOAT(7,2) means 7 digits total, 2 after decimal, but FLOAT is approximate.
      2. Step 2: Insert and round value

        12345.6789 rounds to 12345.68 when stored with 2 decimals.
      3. Final Answer:

        12345.68 -> Option B
      4. Quick Check:

        FLOAT rounds to 2 decimals = 12345.68 [OK]
      Hint: FLOAT rounds approximate values to specified decimals [OK]
      Common Mistakes:
      • Expecting exact storage like DECIMAL
      • Ignoring rounding behavior of FLOAT
      4. You defined a column as FLOAT(5,2) but notice values like 1234.567 are stored as 1234.56. What is the likely cause and how to fix it?
      medium
      A. MySQL truncates decimals by default; enable rounding mode
      B. FLOAT(5,2) syntax is invalid; use FLOAT without parameters
      C. The value exceeds FLOAT range; use DOUBLE instead
      D. FLOAT stores approximate values; use DECIMAL(7,3) for exact decimals

      Solution

      1. Step 1: Recognize FLOAT behavior

        FLOAT stores approximate values and rounds to specified decimals, causing truncation.
      2. Step 2: Choose correct type for exact decimals

        DECIMAL stores exact decimals and preserves precision, so use DECIMAL(7,3).
      3. Final Answer:

        FLOAT stores approximate values; use DECIMAL(7,3) for exact decimals -> Option D
      4. Quick Check:

        Approximate FLOAT -> switch to DECIMAL for precision [OK]
      Hint: Use DECIMAL for exact decimals, FLOAT is approximate [OK]
      Common Mistakes:
      • Thinking FLOAT(5,2) is invalid syntax
      • Assuming DOUBLE fixes decimal truncation
      • Expecting MySQL to round automatically without changing type
      5. You need to store scientific measurements with very large or very small values and some decimal precision. Which MySQL data type is best and why?
      hard
      A. FLOAT or DOUBLE, because they store approximate floating-point numbers with wide range
      B. DECIMAL, because it stores exact fixed-point numbers
      C. VARCHAR, to store numbers as text for precision
      D. INT, because it stores whole numbers efficiently

      Solution

      1. Step 1: Understand scientific measurement needs

        Scientific data often requires wide range and floating precision, not exact fixed decimals.
      2. Step 2: Choose FLOAT or DOUBLE for wide range

        FLOAT and DOUBLE support very large/small values with approximate precision, ideal for science.
      3. Final Answer:

        FLOAT or DOUBLE, because they store approximate floating-point numbers with wide range -> Option A
      4. Quick Check:

        Wide range + approximate decimals = FLOAT/DOUBLE [OK]
      Hint: Use FLOAT/DOUBLE for scientific data, DECIMAL for money [OK]
      Common Mistakes:
      • Choosing DECIMAL which limits range
      • Using VARCHAR which wastes space and loses numeric features
      • Using INT which cannot store decimals
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard