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

2019-06-17  本文已影响0人  djz0306

前面几篇文章梳理了 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填充,默认无符号)

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

上一篇下一篇

猜你喜欢

热点阅读