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

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

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
当需要同时包含日期和时间信息的值时应该使用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值

文档评论(0)

didala + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档