MySql cmd下的学习笔记 —— 有关建立表的操作(有关于数据类型)

(01)建表的过程实际上是 声明字段 的过程

   一. 列类型(字段):

     存储同样的数据时,不同的列类型,所占据的空间和效率是不一样的,这就是建表时要考虑的意义。

   二.MySQL三大列类型

        数值型

          整型

            tinyint

              占据空间:1个字节

               存储范围:0 - 255, -128 - 127   

         smallint

              占据空间:2个字节

              储存范围:-32768 - 32768, 0 - 65535

         int 

              占据空间:4个字节

              储存范围:-2147483648 - 2147483647

                   0 - 4294967295

(02)先建立一张表

添加一条记录

age的范围在(-128 - 127)

增加一列

可以看出加入unsigned后, 表示为无符号类型, 范围在(0 - 255)之间

    二. 小数型:

           float(小数的总位数,小数点右边的位数)(浮点型)

          例:float(6,2)表示:9999.99

     

        定点型:decimal()

            把整数部分和小数部分分开存储,比float精确

 

 

但float有时会有损精度

https://blog.csdn.net/lingmao555/article/details/48391763

中有具体讲解:

    字符型

     char型

char(6) 定长字符串

char 和 varchar 分别为定长型和变长型

char  优点:查询速度快

    缺点:耗费内存

 varchar 优点:耗费内存少

    缺点:查询速度相对慢

char 与 varchar 的区别

可以看出varchar右侧有一个空格

说明了char类型,如果不够M个字符,内部用空格补齐。取出时把右侧空格删除,如果右侧有空格会自动删除

 

    Text型: 文本类型,可以储存大的文本段,但搜索速度慢

         (不需加默认值)

blob 为二进制类型,用来储存图像,音频等二进制信息

意义:二进制 0-255都有可能出现

比如一张图片有0xFF字节,在ascII表中认为非法,在入库时,被过滤了

     时间类型

    date类型

 

 date 存储范围 1000-01-01 —— 9999-12-31

    time类型 (范围:-838:59:59 —— 838:59:59)

  datetime类型(储存范围: '1000-01-01 00:00:00 ——9999-12-31 23:59:59')

储存形式 YYYY-mm-dd HH:ii::ss

 

posted @ 2018-07-26 23:47  安智伟  阅读(185)  评论(0编辑  收藏  举报