00:00
说一下第一部分叫做整形,也就是竖直形里边的整形部分,好,上图,我们看一张图,在咱m my circle中呢,用于保存整形的符号呢,有这么些还是比较多的,你比如说tiny int small int medium int,还有int,当然int呢,你也可以用in提来表示,最后是big in,其实从字面的意思去理解,是不是有点类似于咱们Java中学过的,呃,学过的什么呢?保存那个整形的那四种,BA short yet和long有点类似于它,也就是说啊,它这几种是不是也是说,呃,这样越来越,呃,保存的数值范围是不是越来越大呀,越来越大,那么你看那每一种整形的话,它有一个自己所占的字节啊,也就是根据字节范围不同,它分为这么几种,它in呢,是微整形,哎,就是。
01:00
最小的对不对啊,然后这个是占一个字节,那它的范围呢,当然呢也比较小了,你想一个字节不就八位了,那八位的话二进制数据,因为我们学过二进制对吧?那二进制咱们知道,呃,那么我们要是把这个写全的话,是不是应该这样写,那么他的意思是说,如果说一,也就是这个最高位是符号位,这个如果是符号位,是不是这个就称为有符号整形啊,对不对?那么剩下的几位在参与二进制的转换,那么它所能转换出来的十进制的值是不是就应该是负128~127啊,这个跟当时咱们Java中外的范围是一样一样的,没有区别吧,一样一样的,当然呢,我们也可以设置tiny int为无符号整形,知道什么意思吗?什么意思啊,这也就是没有所谓的符号位了,最号位是不是就不是括号位了,它就会参与运算啊,啊,这就是一个普。
02:00
同的一,你是不是要给它转换成那个那个那个数了呀,那这个应该是乘以二的多少次方了,二的七次方对不对啊,那这样去算的话,它应该是零到255,它的范围是不是就更大一点啊,没有负数了啊,这个正数的这个范围更大,这个我就没必要给大家转一遍了吧?哎,就是这个范围啊,搞清楚了行吧,这是微整形,然后small in的话,它占的字节是两个字节,以此类推嘛,你两个字节不就是两个八尾16位的嘛,对不对啊,那有符号是这点啊,五符号是这个,这个用记吗?这个不用记,那听好吧,这个不用记啊,有的同学说老师我老子可好使了,我就要记是吧,你就要记就记吧,是不是啊,这个反正我没去记啊,不用刻意的去记,反正你看多了你就知道了,是不是啊,不用刻意去讲这个你可以记一下,因为这个比较简单对不对,你记一个剩下的就都差不多了嘛,然后是meium in是不是中等啊。
03:00
它所占的字节是三个字节,哎,有符号是这么点,无符号是不是就基本上是二倍啊,对不对啊,基本上二倍啊,反正很大是吧?啊什么再看一下int int的话呢,是四个字节,四个字节的话呢,就是肯定是负二的几次方啊应该是。31次方到二的31次方减一对不对,这个应该是零到二的32次方减一对吧?啊,零到二的32次方减一啊,所以这个数不用去记了啊,它就按这个规律往下推的啊big in是最大是八个字减行,那你大概这样去看一下就行了,那么我们在这呢,进行一个总结,那写到这个地方哈,诶,看这,呃,那么对于我们慢思中的整形呢,我们发现它有一个分类,那么咱们在这来说一下哈,那么有什么tiny in记住了哈,还有像small in,还有呃,In,呃,Medium in没说是吧,Medium in,还有in,还有谁big int,当然我们的int也可以写成引起的,这两个是一致的,这个里边可没有所谓的引流和原始类型了,对不对啊,好,那么。
04:21
它们呢,是从左往右所保存的数值的范围逐次增大啊,所占的字节也逐次增大,这个是占一个字节,这个是占两个,这个是三个,这个是四个,这个是八个,没问题吧,好,这是它的分类哈,接下来呢,我们就来去说一下特点,其实我随便挑一个来说特点,剩下的是不是大概也一样啊,能听我意思吧啊,那他们几个的区别就仅仅在于所保存的范围不同,能听懂吗?其他的本质上是不是都一样的呀?所以我就挑一个来说就行了哈,好,所以接下来我们就通过案例来跟大家去来说明我们整形的特点,能听懂吧啊好,那么现在呢,我想去测试什么呢?就别这案例了,叫一第一点啊,那么我想来去测试一件事情啊,因为刚才他说到了无符号和有符号,是不是说到这个事情了,那所以说我。
05:21
想来去测试如何设置无符号和有符号,哎,什么情况下叫有符号,什么情况下叫做无符号,能听懂吧,我做这样一件事情哈,好看这那么我就来创建一个表,还是在test库吧,可以吧,好create table,比方说我是专门来测试我们的整形的,整形的话我就叫做T面的可以吧,啊,叫tab in的啊,这样还要好看一点,好行了,然后在这个里边呢,我可以加上一个字段,比方说T1,就让它是int类型可以吧,T int类型我先就这么写啊,别的呢,我就不试了啊,那为了简单我就试一列,那我直接就这么写,看能不能行啊,是不是成功了呀,那成功了之后瞪大眼睛来跟着我一起来看,那么我这也没有加什么无符号,有符号,我们看一下它默认的是什么,11这个是指长度啊,是指默认。
06:21
长度意思是说我括号的长度不写,默认是11,我们要看的不是这个事情啊,看的是什么事情,是不是从这个地方还是看不出来它是五符号还是有符号啊,那怎么办呢?我插入数据呗,我们试一下insert into ta values,因为你就一个列,我直接在这插入值是不是就行了,如果说是int的话,假如它是啊int如果说是无符号,那么我这是不是就不能插入负数啊,能听懂吧,如果有符号是不是就能插入负数啊?哎,来咱们去写一下哈,那么假如说我插入一个负数,我随便写一个值能看到吧?啊,那我们现在再去执行,大家看是不是能够成功啊,这说明我这个TT它是有负号还是有符号,就符号它支持负数啊,好,那有的说,那老师怎么着设置无符号嘞,它实际上是这么说设置的来看哈,我们先把原来的。
07:21
脚扇一下,你看这不就用上了我们这样的一个语法了吗?是不是啊写哈,哎,然后直行先删一遍,然后呢,我们再来一个,这是t int,再来一个T2INT,直接怎么加就行了呢?加上一个符,呃,加上一个关键字叫做an sad,无符号的意思,哎,它是这样加的,我们现在再去执行。是不是成功了,哎,那再去查看表的结构,你看T1T2,你会发现,哎,如果说是无符号,它是不是默认这个类型,这个地方会标注出来呀,哎按哈,你这个不写的话,默认的就是有符号,它不会标注,而且你会发现默认的长度是不是也不一样啊,这个长度先不用管,你就先扫一眼啊好,那真的是这样的吗?那现在呢,我再去插入数据来试一下,呃,T1的话我还插入这个负数,T2是不是我也故意插入这个数啊好,我们看一眼哈,好我们去执行,你会发现是不是有警告了,而且是针对于哪个字段,T2能看到吧,针对贴字段,那么我这个T它最终出来的是什么效果呢?我们可以查看一下from TT,好,你会发现它出来的就是零零是啥?哎,因为无符号int类型的话,它的范围是。
08:45
下限是零,上限是不是这么大呀,而你的负数是不是超过了它的下限呀?哎,那么它其实显示的是个临界值啊,显示的是一个这个好,我们这个不用着急,咱们一点一点来,先把第一个特点我们整明白哈,第一个特点的话其实已然明白了,就是如果不设置啊无符号还是有符号,默认是有符号,好对于这几个都是这么回事,虽然咱们就试了一下in啊,但其实都一样,那么如果说想设置有符号啊,错了,无符号需要追加啊,需要添加叫做an sad啊关键字没问题吧?哎,这是第一个特点哈,那行了,我们接下来看第二个特点,第二个特点就是我想说的,那么如果插入的数值超出了,超出了我们整形的范围会怎么?
09:45
怎么办?对,其实刚才也看出来了,如果超出他会报警告啊,那刚才的那个警告再看一眼哈,呃,他报的这个警告的话叫做out of range,其实都会报这个啊对,超出范围,然后它呢,默认插入的值就是你的临界值,我们再试一个,呃,这个的话是T1T2,我们再是一个,呃,嗯,是一个这个int较大的吧,行吧啊那么我们这的话呢,就是这个值哈,那么我粘一份吧,粘一份好我们看一下int的话,它的最大值是不是叫做214783647是吧,这一共是几位数啊,十位哎,那我这个呢,怎么着呢,我们复制一下也行,复制一下也行,是不是就是后面这个值啊嗯,行吧,啊好,来看一下,那也就是我前面的话,是不是就是这么大个。
10:45
对不对,然后是不是要比它要大,比方说我写个八,我是不是故意的,然后后面这个的话呢,我写成多少啊,写个九不行,因为你这个有符号的,呃,无符号的话是个四四多少啊哎,它是它的二倍了哈,哎,我们粘回来哎啥玩意儿啊,这是后来反正出来了是吧?啊粘错了啊,这个有点小啊啊。
11:10
哎,那么就是给大家这样去试,可以这样吧,啊,那我们把这个粘过来,好,这个的话我是不是故意写大点,我写个六可以吧?啊,写个六啊,那么行,我这故意找的这样的一个值,我现在再去插入,你看是不是会报这样的一个警告呀,还是outage,那么现在它到底插入什么呢?你看是不是就是临界值啊,你看这个是不是也是临界值啊,没毛病吧?啊,其实不光in它是这样哈,其他的也都是,所以说如果插入的数值超出了整形的范围,那摸它首先汇报一个异常,给大家写上汇报out of range啊,报这样的一个异常,并且插入的是临界值,没问题吧?哎,这个要注意,行了,我们再看一下第三点,第三点我们这个时候再说程度的事,首先我们发现刚才我的这个表。
12:11
这计时我int是不是都没有给它添添加长度啊,这个不添加长度也没有关系啊,也就是如果不设置长度啊,其实也没也没有关系哈,那如果不设置长度,会有默认的长度,会有默认的长度,你比如说int,如果说有符号的,我要不给他设置长度,默认的长,默认的长度是多少呀,11啊,那无符号的默认的是十,当然small int tiny int这些是不是都有自己的一个默认程度啊,这个也不用去记啊,你知道都有就行了,当然你也可以自己去设置,你比方说我们来一个in桃括号,我这写上一个七,是不是可以这么干呀?哎,这个地方也一样,我写个七,或者写个其他的,然后现在呢,我们再去执行啊,好,是不是也能成功啊啊,然后再去查看表的结构啊,那这个长度也可以。
13:11
可以改啊,但是你会发现长度改不改,长度改改不改,那我们看这个效果啊,然后我们现在是不是啊,我这个是不是超出范围来着啊,超出范围没事,我再这样去查看一下哈,那大家看是不是还是能插入这些值啊,那这个长度它代表的是什么意思呢?因为可能我们自己的理解上认为这个长度是不是就感觉是那个范围式的呀,其实不是啊,对于整形来讲,它的范围就是由谁来决定的呢?就是由前面的这个类型能听懂吧,由它来决定你是int还是small int还是medium int由它决定,那我这个长度代表什么呢?它代表的是你的这个显示结果中的你该列的一个宽度。
14:00
如果说你不够这个宽度,它会用零来填充,在左边用零填充,当然我这个是够了,对不对啊,那有的说是这么回事吗?好来我们试一下inside into ta,我们加一个value哈,哎,那你比如说我写个123 123这俩其实都应该中插入吧,啊好,我们执行。一行受影响没问题哈,然后现在我们再去直行,诶是不是也能插入,但是那个宽度诶是不是还是没显示出来呀,按说按照我刚才的解释,是不是应该出现啥啊,000,是不是应该出现四个零啊,它没有显示,的确是这样的,因为是这样哈,如果说我就单纯的这么一写的话,它默认的呢,就这个宽度无效,那什么时候才有效呢?你必须搭配的一个关键词来使用,这个东西叫做zero feel加feel,它的意思叫做什么零填空,你要是不加它不行啊,而且你一加它默认的你的int也就变成了无符号。
15:12
我这样说能理解吧,你只要一加上零填充,它默认就是就是不支持负负数了,它只支持正数了哈,所以你这个东西其实加不加没什么意义了,能听懂吧,加不加没什么意义,好我们试一下哈,啊,然后我们去删除先,然后再去创建。好成功了的,那么现在呢,我们再去插入,注意看哈,因为你这是一个新表,所以原来的数据是不是都没了啊,我重新再插入一遍啊,诶这个叫做啥来着。Inside into t咋不认识了呢?Test啊,我这块应该是没有创建,创建乘可能好,我们现在在执行,是不是刚才没选中执行成啊好好了,那么现在呢,我再去试好一行受影响再看效果有没有知道意思了吧,啊所以说啊,原来呀,这个int呀,或者什么int括号里面的宽度,它是这个意思啊,它可不是说代表最长,你插入的数值的这个范围是七位,它不是这个能听懂吧,它不是这个,它规定不了范围,范围是由你是int类型还是small int类型来决定的,这样图征跟上吧,啊,那么它只是代表你显示结果的这个样子,它只是代表这个宽度啊,而且也很少用啊,我在这写一下吧,那就是如果不设置长度,会有默认的长度再往下走,呃,那么长度代表的意思为长度代表了写。
16:52
展示的啊,相当于最大宽度,可以这样去理解啊,如果不够会用零在左边填充啊,左边填充,但必须搭配谁来使用呢?Zero fair使用啊好知道意思了吧,哎,这就是整形想跟大家去介绍的。
17:15
好,我先停一下。
我来说两句