# Numeric Data Types

- [Numeric Data Type Overview](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/numeric-data-type-overview.md): General introduction to numeric data types. This page summarizes the available integer, fixed-point, and floating-point types and their storage characteristics.
- [BIGINT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/bigint.md): Large integer type. A BIGINT uses 8 bytes and can store values from -9223372036854775808 to 9223372036854775807 (signed) or 0 to 18446744073709551615 (unsigned).
- [BIT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/bit.md): Bit-field data type. A BIT(M) column stores M bits per value, allowing storage of binary values from 1 to 64 bits in length.
- [BOOL](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/bool.md): Synonym for TINYINT(1). This type is commonly used to represent boolean values, where 0 is considered false and non-zero values are true.
- [BOOLEAN](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/boolean.md): Complete BOOLEAN type reference: TINYINT(1) synonym, TRUE/FALSE aliases, CREATE TABLE/SHOW CREATE TABLE output, and IF()/IS operator evaluation.
- [DEC, NUMERIC, FIXED](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/dec-numeric-fixed.md): Synonyms for DECIMAL. These keywords declare fixed-point numbers, which store exact numeric data with a defined precision and scale.
- [DEC](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/numeric-data-types-dec.md): Synonym for DECIMAL. This keyword creates a fixed-point column with exact precision, suitable for financial calculations.
- [DECIMAL](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/decimal.md): Complete DECIMAL type reference: DECIMAL(M,D) syntax, precision limits (M≤65, D≤38), SIGNED/UNSIGNED/ZEROFILL options, and rounding behavior.
- [DOUBLE PRECISION](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/double-precision.md): Synonym for DOUBLE. This keyword declares a normal-size (8-byte) floating-point number with double precision.
- [DOUBLE](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/double.md): Double precision floating-point number. A DOUBLE column uses 8 bytes to store large or precise approximate values.
- [FIXED](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/fixed.md): Synonym for DECIMAL. This keyword is used to define columns that require exact numeric precision, such as currency.
- [FLOAT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/float.md): Single precision floating-point number. A FLOAT column uses 4 bytes and stores approximate values with less precision than DOUBLE.
- [FLOAT4](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/float4.md): Synonym for FLOAT. This keyword declares a single-precision floating-point column.
- [FLOAT8](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/float8.md): Synonym for DOUBLE. This keyword declares a double-precision floating-point column.
- [Floating-point Accuracy](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/floating-point-accuracy.md): Explanation of floating-point precision issues. This page details why FLOAT and DOUBLE types are approximate and how rounding errors occur.
- [INT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/int.md): Complete INT type reference: INT(M) syntax, signed (-2147483648 to 2147483647) vs unsigned (0 to 4294967295) ranges, and ZEROFILL padding guidelines.
- [INT1](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/int1.md): Synonym for TINYINT. This type uses 1 byte of storage.
- [INT2](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/int2.md): Synonym for SMALLINT. This type uses 2 bytes of storage.
- [INT3](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/int3.md): Synonym for MEDIUMINT. This type uses 3 bytes of storage.
- [INT4](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/int4.md): Synonym for INT. This type uses 4 bytes of storage.
- [INT8](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/int8.md): Synonym for BIGINT. This type uses 8 bytes of storage.
- [INTEGER](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/integer.md): Synonym for INT. This keyword declares a standard 4-byte integer column.
- [MEDIUMINT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/mediumint.md): Medium-sized integer. A MEDIUMINT column uses 3 bytes and stores values from -8388608 to 8388607 (signed) or 0 to 16777215 (unsigned).
- [MIDDLEINT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/middleint.md): Synonym for MEDIUMINT. This keyword refers to the 3-byte integer type.
- [NUMBER](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/number.md): Oracle-compatible synonym for DECIMAL. This type is used for fixed-point arithmetic.
- [NUMERIC](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/numeric.md): Synonym for DECIMAL. This type stores exact numeric data values.
- [REAL](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/real.md): Synonym for DOUBLE. In standard SQL mode, REAL is a double-precision floating-point number.
- [SMALLINT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/smallint.md): Small integer type. A SMALLINT column uses 2 bytes and stores values from -32768 to 32767 (signed) or 0 to 65535 (unsigned).
- [TINYINT](https://mariadb.com/docs/server/reference/data-types/numeric-data-types/tinyint.md): Very small integer type. A TINYINT column uses 1 byte and stores values from -128 to 127 (signed) or 0 to 255 (unsigned).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/server/reference/data-types/numeric-data-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
