美文网首页
MySQL建表过程与不同字符类型的意义

MySQL建表过程与不同字符类型的意义

作者: djz0306 | 来源:发表于2019-06-17 21:20 被阅读0次

    前面几篇文章梳理了 MySQL 中的一些常见操作,包括安装、基础的建表、删表、增删改查等。但是那些都比较基础,在日常工作是使用肯定是不够的,从本篇开始逐渐深入,先从建表开始,而建表前就需要先明确不同字符类型的存储范围和所占的字节。

    在日常生活中如果要画一张表,其实就是在确定表头,也就是第一行。就像在一张纸上面画表格一样,纸张的长宽是固定的,如果某一列的宽度过宽,一来可能会导致浪费,二来可能会导致其他列过窄,容纳不下。所以需要确定以下几个因素:

    1. 需要有哪些列
    2. 每一列存哪些类型,占据多大的位置

    由于存储同样的数据,不同的列类型,占据的空间和效率是不同的,所以需要在建表的时候就明确每一列的存储范围和占据的字节关系,以保证每一列存储的范围都能满足需求,又不浪费过多的空间

    MySQL 有三大列类型,包括整数型字符串型日期时间类型。而整数型中又包括整型和小数型。整型包括:

    1. tinyint
    2. smallint
    3. mediumint
    4. int
    5. bigint

    以 tinyint 为例,需要清楚占据的空间为1字节,带符号的范围是-128-127,无符号的范围是0到255。既然有两种范围,那么声明类型的时候就需要确定声明哪种范围,参数共有三种

    1. M(宽度,以0填充时才有意义)
    2. unsigned(无符号类型)
    3. zerofill(0填充,默认无符号)

    这三者的详细区别,在下一篇中再梳理

    相关文章

      网友评论

          本文标题:MySQL建表过程与不同字符类型的意义

          本文链接:https://www.haomeiwen.com/subject/rpxtqctx.html