文档详情

第3章MySQL存储引擎和数据类型MySQL的数据类型.ppt

发布:2016-12-22约9.87千字共71页下载文档
文本预览下载声明
当需要同时包含日期和时间信息的值时应该使用DATETIME类型。MySQL以YYYY-MM-DD HH:MM:SS格式检索和显示DATETIME值。支持的范围为1000-01-01 00:00:00到9999-12-31 23:59:59。 可以使用任何常见格式指定DATETIME值: YYYY-MM-DD HH:MM:SS或YY-MM-DD HH:MM:SS格式的字符串。 YYYYMMDDHHMMSS或YYMMDDHHMMSS格式的没有间割符的字符串,如果字符串对于日期类型是有意义的,也允许使用。 YYYYMMDDHHMMSS或YYMMDDHHMMSS格式的数字,如果数字对于日期类型是有意义的,也允许使用。 以上写法中,无效DATETIME值被转换为相应类型的“零”值(0000-00-00 00:00:00、0000-00-00或者00000000000000)。如果字符串中有分隔符,则月和日只有一位时可以只写一位,但如果没有分隔符,就必须写成两位,其中十位数字为0。 当只需要日期值而不需要时间部分时应使用DATE类型。MySQL用YYYY-MM-DD格式检索和显示DATE值。支持的范围是1000-01-01到 9999-12-31。 TIMESTAMP列用于INSERT或UPDATE操作时记录日期和时间。如果人为的给它分配一个值,表中的第一个TIMESTAMP列自动设置为最近操作的日期和时间。也可以通过分配一个NULL值,将TIMESTAMP列设置为当前的日期和时间。 TIMESTAMP值返回后显示为YYYY-MM-DD HH:MM:SS格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,可以在TIMESTAMP 列添加+0。 初始化和更新TIMESTAMP列的方法如下: 1.可以将当前的时间戳指定为默认值或自动更新的值,但二者不能同时选择。 2.可以指定任意一个TIMESTAMP列为自动初始化或更新为当前的日期和时间,而不仅限于第1个TIMESTAMP列。 TIME类型用于保存精确到秒的时间,范围是-838:59:59到838:59:59。MySQL以HH:MM:SS格式显示TIME值,但允许使用字符串或数字为TIME列分配值。 小时部分之所以没有限制为小于24小时,是因为它还可用于记录两个时刻之间的时间间隔,这个间隔可能会超过一天的时间。 为TIME赋值的方法可参考DATATIME中的相关内容,如果要保存的值超出TIME范围会被裁为范围最接近的端点。例如,-850:00:00和850:00:00被转换为-838:59:59和838:59:59。 无效TIME值被转换为00:00:00。请注意由于00:00:00本身是一个合法TIME值,因此不能确定00:00:00一定是不合法的值。 YEAR类型是一个单字节类型用于表示两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是1901到2155,也可以是0000。在两位格式中,允许的值是70到69,表示从1970年到2069年。MySQL以YYYY 格式显示YEAR值,但允许使用字符串或数字为YEAR列分配值。 可以指定各种格式的YEAR值: 1.四位字符串,范围为1901到2155。 2.四位数字,范围为1901到2155。 3.两位字符串,范围为00到99。00到69和70到99范围的值被转换为2000到2069和1970到1999范围的YEAR值。 4.两位整数,范围为1到99。 通常我们应该选择尽可能小的数据类型,这样可以节省空间,并且可以更快地进行访问和更新。但应该注意需要保存的数据的范围,如果选择的类型太小,数据可能会在插入时被截断或产生错误,所以一定要选择一个覆盖所有可能性的数据类型 为了优化存储,在任何情况下均应使用最精确的类型。例如,如果列的值的范围为从1到99999,若使用整数,则MEDIUMINT UNSIGNED是好的类型。在所有可以表示该列值的类型中,该类型使用的存储最少。 应当使用精度为65位十进制数(基于10)对DECIMAL 列进行所有基本计算(+、-、*、/)。 使用双精度操作对DECIMAL值进行计算。如果准确度不是太重要或如果速度为最高优先级,DOUBLE类型即足够了。为了达到高精度,可以转换到保存在BIGINT中的定点类型。这样可以用64位整数进行所有计算,根据需要将结果转换回浮点值。 本章介绍了MySQL中可以使用的数据类型,各种数据库系统中使用的数据类型都大体相似,但也总有不同之处,了解这些区别是学习MySQL的一项重要任务。 bool型 bool型数据用于存储逻辑值,它只有两种状态,即“TRUE”和“FALSE”,或“1”和“0”。此类型等价于TINYINT(1)类型。其值为0时表示“FALSE”,所有非0值
显示全部
相似文档