content_image/850734.jpg
• FLOAT( p ) [UNSIGNED] [ZEROFILL] 

A floating-point number. p  represents the precision in bits, but MySQL uses this value only to determine whether to use FLOAT  or DOUBLE  for the resulting data type. If p  is from 0 to 24, the data type becomes FLOAT  with no M  or D  values. If p  is from 25 to 53, the data type becomes DOUBLE  with no M  or D  values. The range of the resulting column is the same as for the single-precision FLOAT  or double-precision DOUBLE  data types described earlier in this section. 

UNSIGNED , if specified, disallows negative values. As of MySQL 8.0.17, the UNSIGNED  attribute is deprecated for columns of type FLOAT  (and any synonyms) and you should expect support for it to be removed in a future version of MySQL. Consider using a simple CHECK  constraint instead for such columns. 

FLOAT( p )  syntax is provided for ODBC compatibility. 

• DOUBLE[( M , D )] [UNSIGNED] [ZEROFILL] 

A normal-size (double-precision) floating-point number. Permissible values are -1.7976931348623157E+308  to -2.2250738585072014E-308 , 0 , and 2.2250738585072014E-308  to 1.7976931348623157E+308 . These are the theoretical limits, based on the IEEE standard. The actual range might be slightly smaller depending on your hardware or operating system. 

M  is the total number of digits and D  is the number of digits following the decimal point. If M  and D  are omitted, values are stored to the limits permitted by the hardware. A double-precision floating-point number is accurate to approximately 15 decimal places. 

DOUBLE( M , D )  is a nonstandard MySQL extension. As of MySQL 8.0.17, this syntax is deprecated and you should expect support for it to be removed in a future version of MySQL. 

UNSIGNED , if specified, disallows negative values. As of MySQL 8.0.17, the UNSIGNED  attribute is deprecated for columns of type DOUBLE  (and any synonyms) and you should expect support for it to be removed in a future version of MySQL. Consider using a simple CHECK  constraint instead for such columns. 

• DOUBLE PRECISION[( M , D )] [UNSIGNED] [ZEROFILL] , REAL[( M , D )] [UNSIGNED] [ZEROFILL] 

These types are synonyms for DOUBLE . Exception: If the REAL_AS_FLOAT  SQL mode is enabled, REAL is a synonym for FLOAT  rather than DOUBLE . 

## 11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT 

MySQL supports the SQL standard integer types INTEGER  (or INT ) and SMALLINT . As an extension to the standard, MySQL also supports the integer types TINYINT , MEDIUMINT , and BIGINT . The following table shows the required storage and range for each integer type. 

<img src='content_image/850734.jpg'>

