Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT • FLOAT( p ) [UNSIGNED] [ZEROFILL] • DOUBLE[( M , D )] [UNSIGNED] [ZEROFILL] • DOUBLE PRECISION[( M , D )] [UNSIGNED] [ZEROFILL] ,  REAL[( M , D )] [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. 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. 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 . 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. Table 11.1 Required Storage and Range for Integer Types Supported by MySQL 11.1.2 Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT Type Storage (Bytes) Minimum Value Signed Minimum Value Unsigned Maximum Value Signed Maximum Value Unsigned TINYINT 1 -128 0 127 255 SMALLINT 2 -32768 0 32767 65535 2016