> 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 %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
