Skip to main content
Database & SQL Tools

MySQL Data Type Reference

A searchable reference of MySQL data types - numeric, string, date/time, JSON, and spatial - with ranges and common use cases.

Search or browse MySQL's data types by category - numeric, string, date/time, JSON, and spatial - with ranges and typical use cases for each.

For the equivalent reference on a different database, see the PostgreSQL Data Type Reference or SQL Server Data Type Reference.

What Is This Reference?

A searchable list of MySQL's built-in column data types, grouped by category, each with its approximate storage range and a typical use case - useful when choosing the right type for a new column.

Why Use This Tool?

MySQL has several similarly-named types with real differences (like VARCHAR vs TEXT, or the various integer sizes) that affect storage size and behavior. This reference makes the practical difference clear at a glance.

How to Use It

  1. Search for a type name or keyword (e.g. "integer" or "date").
  2. Review the type's range/limit and a common use case.

Limitations

This covers commonly-used MySQL types with practical guidance - for exhaustive edge-case behavior of a specific type, MySQL's own reference manual remains authoritative.

Frequently Asked Questions

DECIMAL, for example DECIMAL(10,2). FLOAT and DOUBLE are approximate and can introduce rounding errors in financial values.

TIMESTAMP is stored in UTC, converted to the session time zone, and limited to the years 1970-2038. DATETIME stores the value as given and covers years 1000-9999.

No. The number in brackets is only a display width and is deprecated in MySQL 8. INT always stores values from about -2.1 billion to 2.1 billion.
Share this tool: