MySQL数据库工程师入门实战课程视频教程
4198 人在学
我们在学习MySQL的时候就需要知道,整形可以分为以下几种,分别是:tinyint、smallint、mediumint、int以及bigint。我们在前面建表的过程当中就用过整型数,即int。然而,不适当的整型数就有可能会带来不必要的磁盘空间浪费,今天小编就通过这篇文章来给大家介绍几种较为常见的整型数。
(一)MySQL中常用的整型数
不恰当的使用int来存储整数是不合理的,原因是int值在数据库当中用4字节进行储存。我们知道,4字节能够存储的没有符号数字的范围是0-2~~~32-1。
现在科技可以证明的最高寿的人类都没超过255岁,所以要是用int存储年龄字段的话,就会浪费磁盘空间。
用int储存年龄18的二进制展开为:00000000000000000000000000010010
在这个二进制当中,最后四个字节只有最后的那一个被使用了,然而只有在一个人256岁时,才会用到倒数第二个字节的最后一位。说明int声明非常不合理。所以我们储存年龄可用tinyintunsigned类型,原因是tinyint类型只占用一个字节,现在还没人的年龄会超过255岁。
以下为常用的int类型,它们占用的字节由小到大:
(1)tinyint:它只占用1字节,符号的取值范围为-128~127、无符号的取值范围:0~255;
(2)smallint:它只占用2字节,有符号取值范围为-32768~32767、无符号取值范围:0~65535;
(3)mediumint:它占用3字节,有符号取值范围为-8388608~8388607、无符号取值范围为:0~16777215;
(4)int:它占用4字节,有符号取值范围为-2147483648~2147483647、无符号取值范围:为0~4294967295;
(5)bigint:它占用8字节,有符号范围是-9223372036854775808~9223372036854775807,无符号范围是:0到18446744073709551615;
(二)有符号以及无符号整型数
首先,新建假设是用来储存某一个不超过1万人年级学生名单和年龄的表,然后按照需求选择tinyint储存年龄,用smallint存储每一条记录的id,有id列的原因是它可以作为具有唯一性的主键,这样便于检索,我们假设id列的数值从1递增且不重复,如下例:
注意:全部整数类型后面添加unsigned,就能把他们声明成无符号类型,如:bigintunsigned;然后就根据不同需求选择MySQL中可以用的整型。
(三)用Zerofill前端补零
为了使数字达到固定长度,我们有时要在数字前补零显示,就能让显示更加美观,如学号,车牌,商品编号等。
有几个商品编号为:
97
121
386
2
为了让显示美观,就可以使它输出为:
00097
00121
00386
00002
这时就能用Zerofill属性,如下例:
总结:以上就是几种较为常见的整型数啦。其实啊,整数类型是数据库中最基本的数据类型。标准SQL中支持INTEGER和SMALLINT这两种整数类型。Mysql数据库除了支持这两种类型外,还扩展支持了TINYINT、MEDIUMINT以及BIGINT哦。希望这篇文章对大家学习mysql有帮助,但是想要学好mysql还有好长的路要走哦,小编也会继续给大家介绍关于mysql的教程哦。