Table of Contents [+/-]
- 11.1 Data Type Overview [+/-]
- 11.2 Numeric Types [+/-]
- 11.3 Date and Time Types [+/-]
- 11.4 String Types [+/-]
- 11.5 Spatial Data Types [+/-]
- 11.6 The JSON Data Type
- 11.7 Data Type Default Values
- 11.8 Data Type Storage Requirements
- 11.9 Choosing the Right Type for a Column
- 11.10 Using Data Types from Other Database Engines
MySQL supports a number of SQL data
types in several categories: numeric types, date and time types,
string (character and byte) types, spatial types, and the
JSON
data type. This chapter provides
an overview of these data types, a more detailed description of the
properties of the types in each category, and a summary of the data
type storage requirements. The initial overview is intentionally
brief. The more detailed descriptions later in the chapter should be
consulted for additional information about particular data types,
such as the permissible formats in which you can specify values.
Data type descriptions use these conventions:
For integer types,
M
indicates the maximum display width. For floating-point and fixed-point types,M
is the total number of digits that can be stored (the precision). For string types,M
is the maximum length. The maximum permissible value ofM
depends on the data type.D
applies to floating-point and fixed-point types and indicates the number of digits following the decimal point (the scale). The maximum possible value is 30, but should be no greater thanM
−2.fsp
applies to theTIME
,DATETIME
, andTIMESTAMP
types and represents fractional seconds precision; that is, the number of digits following the decimal point for fractional parts of seconds. Thefsp
value, if given, must be in the range 0 to 6. A value of 0 signifies that there is no fractional part. If omitted, the default precision is 0. (This differs from the standard SQL default of 6, for compatibility with previous MySQL versions.)Square brackets (
[
and]
) indicate optional parts of type definitions.