码迷,mamicode.com
首页 > 数据库 > 详细

Mysql中的数据类型

时间:2018-05-21 19:31:10      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:技术   字符类型   inf   小数点   color   字符串长度   ack   数字   info   

数据类型的选择

为表中的字段选择合适的数据类型
  当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或二进制类型,
最后是字符类型。对于相同级别的数据类型,应该优先选择占用空间小的数据类型。

整数类型

  技术分享图片
浮点数类型

  技术分享图片
  说明:DECIMAL类型,每4个字节存9个数字,小数点占1个字节
  例如:DECIMAL(18,9)需要9个字节来存储。

VARCHAR和CHAR类型
  · varchar用于存储变长字符串,只占用必要的存储空间
  · varchar列的最大长度小于255则只占用一个额外字节用于记录字符串长度
  · varchar列的最大长度大于255则要占用两个额外字节用于记录字符串长度
  · char类型是定长的
  · 字符串存储在char类型的列中会删除末尾的空格
  · char类型的最大宽度为255

日期类型
  DATATIME类型
    以YYYY-MM-DD HH:MM:SS[.fraction]格式存储日期时间
    atetime = YYYY-MM-DD HH:MM:SS
    datetime(6) = YYYY-MM-DD HH:MM:SS.fraction
    DATATIME类型与时区无关,占用8个字节的存储空间
    时间范围从1000-01-01 00:00:00到9999-12-31 23:59:59
  TIMESTAMP类型
    存储了由格林尼治时间1970年1月1日到当前时间的秒数
    以YYYY-MM-DD HH:MM:SS[.fraction]格式显示,占用4个字节
    时间范围从1970-01-01到2038-01-19
    TIMESTAMP类型显示依赖于所指定的时区
    在行的数据修改时可以自动修改TIMESTAMP列的值
  DATE类型和TIME类型
    存储用户生日时,只需要存储日期部分
  DATE类型的优点:
    1. 占用的字节数比使用字符串、datetime、int存储要少,使用date类型只需要3个字节
    2. 使用DATE类型还可以利用时间函数进行日期之间的计算
    DATE类型时间范围从1000-01-01到9999-12-31
    TIME类型用户存储时间数据,格式为HH:MM:SS
  注意事项:
    1. 不要使用字符串类型来存储日期时间数据
    原因:
      · 日期时间类型通常比字符串占用的存储空间小
      · 日期时间类型在进行查找过滤时可以利用日期来进行对比
      · 日期时间类型还有着丰富的处理函数,可以方便的对日期时间类型进行日期计算
    2. 不要使用字符串类型来存储日期时间数据

Mysql中的数据类型

标签:技术   字符类型   inf   小数点   color   字符串长度   ack   数字   info   

原文地址:https://www.cnblogs.com/liyue-sqsf/p/9068634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!