zoukankan      html  css  js  c++  java
  • mysql 刘道成视频教程 第4-8课 --- 数据类型

     数据类型大纲图:

     

     注:在mysql中,输入时除了数值型,不要加单引号,其他的都要加上单引号,养成一种好习惯。

    一、数值型:

    • 整数型:

      1)从数学上来讨论tinyint

        1、 占据空间

        2、存储范围

      2)tinyint 微小的列类型,1字节,

        如果表示正数,表示范围0 - > 2^8-1  : 0 -> 255;

        如果表示负数,表示范围 -128 -> 127 (只有后7位表示绝对值,最高位表示的是符号) (补码)

    • 小数型:
      •   float(M,D):M代表总位数,D代表小数位,(6,2)为例;-9999.99 -> +9999.99
      •       浮点,定点型所占字节是固定的,有些是4个字节,有些是8个字节。
      •   浮点型的M, D 影响存储范围
        •  float(4,2)        :  -99.99 -> +99.99
        •  float(4,2) unsigned :  0 -> 99.99

    二、字符型:

      1、char与varchar的区别

        1)宽度

      • char(M),M代表宽度,0 <= M <= 255之间
      • varchar(M),M代表宽度,0 <= M <= 65535(以ascii字符为例,utf8 22000左右)

        2)实占空间

      • char:M
      • varchar:i字符+(1-2)字节

    类型

    宽度

    可存字符

    实存字符(i<=M)

    实占空间

    利用率

    Char

    M

    M

    i

    M

    i/M <= 100%

    Varchar

    M

    M

    i

    i字符+(1-2)字节

    i/(i+1-2) < 100%

        3)对末尾的处理

          char型 如果实际存储内容不足M个,则后面加空格补齐;取出来的时候,再把后面的空格去掉,所以,如果内容最后有空格,将会被清除。

        4)速度

          char型处理速度比varchar快。

      2、char与varchar选择原则:

        1)空间利用率

      • 四字成语表,char(4)
      • 个人简介,微博140字,varchar(140)

        2)速度

      • 用户名:char

      3、Text 文本类型:

    • 可以存比较大的文本段,搜索速度稍慢,因此不是特别大的内容,建议用char,varchar来代替。
    • Text 不用加默认值(加了也没用)

     三、时间/日期型:

      1、Year类型:1个字节 表示 1901-2155,[0000,表示错误时选择]

    •        如果输入2位,’00-69’ 表示: 2000-2069
    •        如果输入2位,’70-99’ 表示: 1970-1999
    •        如果记的麻烦,输入的时候,输4位。

      2、Date类型:典型格式  1992-08-12

    •       日期类型:’1000-01-01’ à ‘9999-12-31’

      3、time类型:典型格式 hh:mm:ss

    •       时间类型:’-838:59:59’ -> ‘+838:59:59’

      4、Datetime 类型 典型格式:’1989-05-06 14:32:08’

    •      日期时间类型 范围:1000-01-01 –> 9999-12-31 23:59:59

    注意:

      在开发中,很少用日期时间类型来表示一个需要精确到秒的列。

      原因:虽然日期时间类型能精确到秒,而且方便查看;

      真正精确到秒的,使用时间戳来表示。

    • 时间戳:用来int来存储
    • 是1970-01-01 00:00:00 到当前的秒数。
    • 一般存注册时间,商品发布时间等,并不是用datetime存储,而是用时间戳
    • 因为datetime虽然直观,但计算不便。

      而用int型 存储时间戳,方便计算,对于显示来说,也可以方便的格式化。

  • 相关阅读:
    前端性能优化方案-路由懒加载实现
    写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么
    自定义组件实现双向绑定v-model
    前端开发中如何快速定位问题
    修改浏览器属性配置的作用---开发机上解决跨域的方式
    vue展示md文件,前端读取展示markdown文件
    js数组去重
    VUE错误码Attribute ':sizeOpts' must be hyphenated
    前端开发-日常开发沉淀之git提交文件忽略
    创建一个新的分支并关联远程分支
  • 原文地址:https://www.cnblogs.com/aoguren/p/3202097.html
Copyright © 2011-2022 走看看