> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/server/reference/data-types.md).

# Data Types

{% columns %}
{% column %}
{% content-ref url="/pages/SHAnTdcPftKXnmNxUSOb" %}
[Data Type Storage Requirements](/docs/server/reference/data-types/data-type-storage-requirements.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Reference for storage space usage. This page lists the disk space consumed by each data type, helping with capacity planning and schema optimization.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/YzrHpaxdkF5eMv5SQK4g" %}
[AUTO\_INCREMENT](/docs/server/reference/data-types/auto_increment.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Complete AUTO\_INCREMENT data type guide for MariaDB. Complete reference for syntax, valid values, storage requirements, and range limits for production use.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/EXtaeqxrOyTwqxvOewFV" %}
[AUTO\_INCREMENT FAQ](/docs/server/reference/data-types/auto_increment-faq.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Answers to common questions about AUTO\_INCREMENT. Learn about gaps in sequences, resetting values, and behavior in different storage engines.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/kZ9IFw944AidfjRrBciS" %}
[NULL Values](/docs/server/reference/data-types/null-values.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Understand the concept of NULL. This page explains how NULL represents missing or unknown data and how it interacts with comparison operators and functions.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/iB5FWYhLfcATxYpiFwJ5" %}
[ROW TYPE OF](/docs/server/reference/data-types/row-type-of.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Declare row-based variables. This PL/SQL compatibility feature allows declaring variables that match the structure of a table row or cursor.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/TIt8dQvbQt1s3nLZIaqa" %}
[SERIAL](/docs/server/reference/data-types/serial.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Alias for BIGINT UNSIGNED NOT NULL AUTO\_INCREMENT UNIQUE. This shorthand data type is often used to define primary keys.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/il4aipyusT9fdt65lFPp" %}
[TYPE OF](/docs/server/reference/data-types/type-of.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Declare variables based on existing types. This feature allows defining variables or parameters that inherit the data type of a table column or another variable.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/t2i0FC3yYtL9Md2aUGK7" %}
[Numeric Data Types](/docs/server/reference/data-types/numeric-data-types.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Complete numeric types reference: INT/BIGINT ranges, DECIMAL(M,D) precision/scale, FLOAT/DOUBLE storage sizes, and numeric type selection guidelines.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/UWtZSxcwURgvEEKcFEzN" %}
[Date and Time Data Types](/docs/server/reference/data-types/date-and-time-data-types.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Store temporal values. This section covers data types for dates, times, and timestamps, including DATE, DATETIME, TIMESTAMP, TIME, and YEAR.
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column %}
{% content-ref url="/pages/L4VBCmSH2Tr5iJnc2bal" %}
[String Data Types](/docs/server/reference/data-types/string-data-types.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}
Store text and binary data. This section covers character types like CHAR, VARCHAR, and TEXT, as well as binary types like BLOB and BINARY.
{% endcolumn %}
{% endcolumns %}
