MYSQL入门学习之4:MYSQL的数据类型

MYSQL入门学习之4:MYSQL的数据类型

MYSQL入门学习之四:MYSQL的数据类型

一、整型

         整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种整数类型。MySQL数据库除了支持这两种类型外,还扩展支持了TINYINT、MEDIUMINT和BIGINT。

         各种整数类型的取值范围、存储的字节数如下:

         整型        字节数  无符号数的取值范围  有符号数的取值范围

         TINYINT     1       0~255                   -128~127

         SMALLINT    2       0~65535                 -32768~12767

         MEDIUMINT   3       0~16777215              -8388608~8388607

         INT         4       0~4294967295            -2147483648~2147483647

         INTEGER     4       0~4294967295            -2147483648~2147483647  

         BIGINT      8       0~18446744073709551615  -9223372036954775808~9223372036854775807

         

 二、浮点数类型和定点数类型

         MySQL使用浮点数类型和定点数类型来表示小数。浮点数类型包括单精度浮点数(FLOAT类型)和双精度浮点数(DOUBLE类型)。定点数类型就是DECIMAL型。

         FLOAT型、DOUBLE型、DECIMAL型的取值范围、存储的字节数如下:

         小数类型     字节数  负数取值范围             无符号取值范围

         FLOAT        4       -3.402823466E+38~        0和1.175494351E-38~

                  -1.175494351E-38         3.402823466E+38

         DOUBLE       8       1.7976931348623157E+308~ 0和2.2250738585072014E~

                  -2.2250738585072014E-308 1.7976931348623157E+308

         DECIMAL(M,D) M+2     DOUBLE型                 同DOUBLE型

         或DEC(M,D)

         M:最大长度(包括小数部分,但不包括小数点)

         D:小数点后保留长度

         对于浮点数和定点数,当插入值的精度高于实际定义的精度,系统会自动进行四舍五入处理。其目的是为了使该值的精度达到要求。浮点数进行四舍五入不会报警,定点数出现警告。

         在未指定精度的情况下,浮点数和定点数有其默认的精度。FLOAT类型和DOUBLE类型默认会保存实际精度。这个精度与操作系统和硬件的精度有关。DECIMAL类型默认整数位为10, 小数位为0,即默认为整数。

         在MySQL中,定点数精度比浮点数要高。而且,浮点数会出现误差。如果要对数据的精度要求比较高,应该选择定点数。

 三、日期和时间类型

 1、DATETIME类型

         DATETIME类型表示同时包含日期和时间信息的值。MySQL以’YYYY-MM-DD HH:MM:SS’格式检索和显示DATETIME值。支持的范围为’1000-01-01 00:00:00’~’9999-12-31 23:59:59’。

 2、DATE类型

         DATE类型表示只有日期值而没有时间值的值。MySQL用’YYYY-MM-DD’格式检索和显示DATE值。支持的范围为’1000-01-01’~’9999-12-31’。

 3、TIME类型

         TIME值可以使用多种表示格式。

         ‘D HH:MM:SS.fraction’格式的字符串。还可以使用下面任何一种“非严格”语法’HH:MM:SS.fraction’、’HH:MM:SS’、’HH:MM’、’D HH:MM:SS’、’D HH:MM’、’D HH’或’SS’。这里D表示日,可以取0~34的值。请注意MySQL不保存分数。

         ‘HHMMSS’格式的没有间隔符的字符串,被假定为是有意义的时间。例如,’101112’被理解为’10:11:12’,但’109712’是不合法的(它有一个没有意义的分钟部分),其将变为’00:00:00’。

         HHMMSS格式的数值,被假定为是有意义的时间。例如,101112被理解为’10:11:12’。下面的格式也可以理解:SS、MMSS、HHMMSS、HHMMSS.fraction。请注意MySQL不保存分数。

 4、YEAR类型

 

MYSQL入门学习之4:MYSQL的数据类型

相关文章:

你感兴趣的文章:

标签云: