00:00
复习一下我们昨天的内容了哈,昨天的话呢,咱把这个查询就结束了,咱把这个联合查询是不是跟你说完了,嗯,来咱们一起来复习一下我们联合查询啊,它里边涉及到的内容,首先呢,联合查询的话呢,我们要知道它的这个使用的关键字对吧?用到的是union,呃,那union它代表的意思是,呃,什么来着,合并联合对吧?那实际上是将我们读多次查询结果合并成是不是一个结果呀?呃,合并成一个结果啊,这就是它的含义,那么从语法上来讲的话呢,呃,也比较简单,那么也就是我们写独立的多条查询语句,比方查询语句一,然后再使用谁呢?Unition,当然后面呢,我们也说了,后面还可以再追加一个关键词,叫做啊是不是可以这样,哎,那么我这儿呢,加上一个这个中括号哈,哎,根据需要,你看你需不需要去加啊,那我这。
01:00
就是查询语句二,然后可以再继续union啊,是这样吧,哎,然后第二点是不是可以多个呀,它这样的哈,哎,行吧,这是语法。第三咱们说一下就是我们呃合并查询或者联合查询它的意义所在,意义呢,也就是说呃什么时候会用它,以及它的这个好处哈,以及好处首先第一点,那么我们使用这个呃联合查询的话呢,它实际上可以将我们一条呃是不是相对比较复杂的语句啊呃复杂的查询语句是不是相当于拆分成了多条语句啊呃,那么相对来说呢,是简化了我们的色口啊,简化了我们的色口,哎,这是第一个意义,第二呢,那么它比较适用于什么情况呢?我们去查询是不是多个表的时候啊,哎,多个表的时候哎,那么我们查询的这个列呢,基本是一致的吧,哎,这个一致呢,包含它的列数。
02:00
包含它的这个每个列的例子和类型是不是基本一致啊对吧,这个时候呢,我们往往就用到联合查询比较简单啊,当时啊,咱们举了一些例子,比如说我们说网站上,我们这个全站搜索某一个关键词啊,那这个里边肯定涉及到了多个表呀,啊那么假如说我们用一条语句肯定做不出来呀,是不是,那我就需要去比方select什么什么列from表一,Where条件在unit select什么什么列from表二外要条件是不是这样去写的呀,哎,达到我们想要的一个效果哈,哎,这是它的意义。呃第四的话呢,来我们说一下它要注意的一些特点,或者说注意事项哈,啊那就直接用这个一吧,第一,那么要求我们查询的各列,呃,应该这样说,要求查询多条查询语句吧,查询语句的查询列数,它是必须一致啊,必须一致。
03:00
啊,那你第一条查询语句查询了两列,第二条也得查询两列,第三条也一样啊,这个是必须的啊,然后第二点,那么这个呢,第二点的话就相对比较就宽松一点,他说要求多条查询语句查询的各列类型,各列啊,各列这样写对不对,各列类型啊,顺序啊,是不是最好一致啊啊那如果说你不一致,其实它也不给你报错,但是实际上已经没什么意义了,对不对啊,那所以说我们是最好一致啊,这是第二点,第三点呢,咱们解释了一下union和union all的区别吧,Union它代表的是去重,哎,默认去重啊,那么我们UNION2的话呢,可以去,呃,是包含重复项啊,哎,UNION2它是包含我们的重复项的哈,呃,同复项,好吧,这就是关于联合查询我们需要注意的事项,就说完了哈,好,那这个完事之后呢,我们看。
04:00
看一下就是,呃,这个整个的我们的查询呢,这不就说完了吗?对吧,我们可以对它进行一个小的总结,首先呢,我们从语法上来讲,我们实际上是不是可以合并成一个比较比较完整的一个语句了呀,这就是我一直说的哈,哎,咱们这个查询语句你就可以当成一个模板的样本一样去记,你把它的顺序跟记住,就跟填空一样,需要谁填上谁就行了,首先的话我们书写上先去写的是不是select的词句啊哎,那跟着我一起来看哈,Slide是不是查询列表啊,然后from后面是不是再去加表呀?哎,当然根据需要我们可以去起别名,然后这呢,我们可以去添加一个连接类型drawing club对吧?啊,那这样我也用汉字来去写哈,连接类型有inner啊,Left呀,Right呀,For呀,Cross啊是不是不一定啊,哎,然后再去join哎,后面是不是再去加表二对吧,哎,然。
05:00
它是on连接条件,哎,再是where词句啊,Where我们家筛选,哎,然后是group bag是不是词句啊,哎,这是分组列表哎,然后再去having是不是也是筛选的,哎,然后是order back,哎,排序列表,最后的话别忘了是limit,哎,排序列表对不对?哎,这是我们整个的一个语法哈,哎,所以说你需要谁,你比方说我就用个基础查询,OK,就是它,哎那么假如说我就用一个条件查询,是不是就是往是它和前面的呀,如果说是连接,那就是这些连接在筛选,就是这个加上分组是不是就加上它呀,加上排序就是一大堆,再加上,呃,这写错了,这应该是啥呀?呃,分页是吧,那分页这个应该是起始条目索引逗号外加的是条目数,对吧?啊,它这样的一个意思哈,所以你根据自己的需要去添加。
06:00
它合适的子句就行了,直行顺序呢,昨天已经说过了,我再次强调一遍就行了,我们先去走的是它啊,是不是这个呀,然后呢,我们再去走的是这个哈,我看昨天的测试上好多同学写的不对啊,写的不对,哎,这个是三,然后这个是是是它四吧,然后是五啊哎,然后这个是六啊那到这个地方的话要填一下了,哎,对了,上去了哈,那这个是7ORDER半呢,我们是八啊,最后这个是九对吧啊9A9A9怎么写呀,这样对吧?嗯,好吧,这是语法和这个顺序说完了,然后这个里边其中要注意支持别名的哈,那么我们这个,呃,比方说我查询列表里边涉及到的字段,表达式,函数,常量等等,它是不是都可以去取别名啊哎。
07:00
那表也一样,也可以去起别名啊,那跟需要我们都可以去起哈,那么起完了之后呢,哎,一定要注意了哈,我们的group by having order by后面实际上都支持是不是别名啊,哎,都支持别名在MYQ里边都支持啊,那么其中的话呢,就是group by和having用的别名相对要较少,呃,这是之前跟大家说过的,对吧?哎,好,那么这是关于它啊,然后最后的话呢,就给大家去说一下,就是呃,假如说我们查询的时候要查询全部信息,我们往往是不是使用s select克的型号呀,呃,这个也有同学昨天问到了哈,那其实的话,正常来讲你用select的星号可以也可以直接select,后面是把各个列名给写上呀,啊也可以,那么我们在实际的环境下,也就是生产环境下,我们经常怎么去用呢?啊,这个我记得以前跟大家提过哈,那么我们最好是把是不是各个列名都加上呀,因为这样可读性和性。
08:00
唇上都会要高这么一丢丢,明白意思吧,啊,这是要跟大家去说的,但是平时咱们写DEMO的话,你为了简化代码啊,那么你写一个星号是没问题的,知道意思了吧?嗯,好了哈,这是查询的整个的一个总结啊接下来呢,咱们介绍了有DML语言,DML语言呢,我们重点的话就是增删感了,首先去看插入,插入咱们介绍了两种方式吧,对,方式一啊,我们说一下这个语法哈,呃,这个应该是insert into,表明括号是不是要加字段名啊啊,字段名逗号点点就是可以多个是不是values括号分号,然后这个里边的话就是值逗号可以多个对吧?啊行了,然后接下来呢,我们说一下它的这个特点,其实不光是这种方式是这个特点,其他的就是其他的插入是不是也是这几个特点。
09:00
哎啊哎,只是我总结到这儿了哈,首先第一那么肯定是要求我们值的类型和我们对应的这个字段的类型是不是要呃一致,或者说兼容啊,这个兼容的这个意思就是说,哎,你是不是可以转过去啊呃,你比方说我举个例子啊,举个例子,这个你们后面会用到,后面会用到,到时候你不要觉得奇怪哈,就是假如说我当时这个字段设计的类型呢,是int,能听懂吧,是int int按说我就应该插入就是不带引号的这些对吧?那么可能呢,我们回头在页,在外部页面里边获取到的数据,它我们知道默认的是不是字符型啊,能听懂吧,默认的字符型,那它应该是数值,是不是就是这种的呀?啊这个的插入你会发现没报错,原因在于,原因在于你这个字符形是不是可以隐示的转换成谁呀,数值是不是可以隐是的转换过去,哎,这样的话它不会。
10:00
报错,但是假如说你从页面里面拿到的一个数据是这个,这个是不是它没法自动转过去了呀,你怎么把障碍转换成数值啊,这个肯定会报错报异常了,对不对啊,就是实际的应轴,但是假如说你本身你的这个字符的值,它是一个有效的数字格式是不是没有问题啊啊虽然带着单引号也没问题,能听懂吧,也没问题哈,哎,这个就是所谓的兼容啊兼容啊行了,这是第一点,呃第二点呢,咱们又说到了说呃实际上呀,我们的这个字段的,呃,这个个数和顺序啊和顺序那不一定与我们的这个原始表啊中的是不是这个字段顺序个数一致啊,嗯,就直接写全吧,呃原始表中字段的个数和顺序一致,哎,你可以根据自己的需要不一致,你调换顺序是不是也没关系啊呃,调换个个数也没有关系哈。
11:00
哎,但你必须保证你的值是不是和它匹配啊,啊和字段啊匹配哈,一一对应啊,我就写个一对应吧,一一对应啊,你只要对应上了就就可以了啊,这是第二点,第三点呢,咱们说一下,那么假如说我们这个呃为闹的字段哈,可以为闹的字段啊,假如说表中有这么写啊,假如表中有可以为闹的字段,那么要注意了,注意可以通过以下两种方式,是不是来插入值啊,插入no值啊这样去写,那么首先方式一的话,方式一那就是我的字段和值是不是都省略呀?哎,你都不写,那它默认就是no啊,那么第二的话呢,就是我们的字段写上啊,那么我的值写上谁呢?哎,对,使用no填充啊,这个是可以的。
12:00
哎,这是第三点,那么今天讲完约束之后呢,我们除了这个闹,我们还会再去介绍一个默认约束啊,还会再介绍一个,就是这个其实就不叫约束了,还会介介绍一个是不是自增长裂呀,哎,那么跟它也非常像啊,跟它非常像,等会咱们试一下,哎,这是第三点第四点,那么我们实际上呢,要求字段和值的个数是不是必须一致啊,字段和值的个数必须一致啊,这是第四点第五点,我们的字段名是不是可以省略呀?啊可以省略,但是默认所有列啊,这个要注意了对吧?行,这是关于方式一,接下来呢,我们看一下插入的方式二,这个语法是insert into表明啊是不是通过sat我们的字段等于值当然可以多个,对吧?呃,字段等于值啊,多个就行了。
13:00
很好,哎,然后我这加上逗号第二点哈,代表可以多个,那两种方式是不是咱们对比了一下呀,哎,那就是两种方式的区别区别哎,咱们相对来说方式一它更加灵活呃,使用的场景也比较多,方式一它可以支持一次插入多行对吧?那么对应的语法为呃语法为这样写哈,语法如下,怎么写的呢?Insert into表明啊,是不是也可以根据需要写字段名呀,呃,字段名逗号点点当这个的话可选,那我就这么去写,可以这样吧,然后values小括号逗号小括号逗号是不是这样去写的呀?啊逗号点点哈,可以多个,好这个里边呢,就是我们的值啊值这个哈。好,其他有点哈,行吧,呃,这是关于插入多好,那么除了这个之外呢,它还有一个特点,它也支持啊子查询,哎,支持子查询啊,那语法如下,那这个子查询怎么写的呢?Insert into表明叫做select,呃,是总之就是一个子查询吧,行吧,啊,就是查询语句啊啊,其实这就是个查询语句,对不对啊,他就这个意思啊,咋了,你看笑的那么跟烂菜花似的,好像想到了什么似的,行,这个是关于区别,是不是就完事了,嗯,我把这个弄一下哈,但是其实方式二的话呢,它是不是比较简单呀,那它比较简单啊,行,这是插入,接下来我们说了一下修改,修改的话咱们是通过,呃。
15:00
啊,两点来说的,第一个介绍的是啊,是不是叫做修改我们单表的记录啊,哎,我们说了这个是一个重点对吧?然后第二个我们介绍了有修改多表的记录啊,其实就是几连更新对不对,这个我们算是补充的哈,啊行,那么我们一起来看一下,首先呢,我们看一下修改单表的记录,就记一下语法是不是就O了update表明set字段吧,等于新值,可以多个字段等于新值对吧,后面可以加where条件哇,筛选条件对吧?啊这就完了哈,是就这些吧,嗯,行,这是修改单表,那修改多表的话呢?啊,那么咱们就重点说那个色Q99语法就行了,可以吧,呃,怎么写的来着,这个表也就,其实也就。
16:00
这个这个地方是不是多了个表啊,就这个意思哈,那你知道怎么写呢,表名,比方你起个别名,呃,这这是表一,其实是对不对,呃,那你可以加上什么left呀或者right呀,一般的或者是inner啊draw表二起个别名啊啊然后直接把那个啊连接条件加上,后面不变吧,啊后面不变啊,那我把这个换一下行,因为有一丢丢长了啊。啊,这个东西塞了它塞尔它对吧?哎,那我们可以这么着是不是,哎,这不就是多表的多表的修改嘛,这就没了哈,呃,那接下来呢,就是关于删除,删除的话我们也是介绍了两种方式,首先方式一是不是使用delete呀,呃,使用delete哈,那使用delete的方式嘞,呃,也是有呃可以去删除单表,是不是也可以删除多表哈,哎,那我这写上这是使用delete要画一下哈,然后还有一种方的话呢,是使用tracket tracket行,我们首先看这个使用delete的,使用delete的话呢,我们有又分为第一点是不是删除单表对不对,单表的记录,单表的记录,还有第二点的话呢,就是删除是不是多表的记录啊啊,其实就是集联删除,我这样去交吧级联。
17:33
来删除是不是可以达到一个这个效果呀?啊好,那么这个的话呢,也是一个补充,那么上面的这个的话呢,是一个重点啊行,那么我们也是把这个语法跟你说一下,这个的话是delete from,后面加表表明,然后where是不是筛选呀,呃,筛选条件同样呢,也是哈,呃,只要是where筛选条件,那都是跟当时讲条件查询似的啊这个Y里边能放什么,是不是我们这儿也能放什么呀啊也能放什么好,那么如果说删除多表的记录啊,那么我们这个语法应该怎么去写嘞?啊对,然后这个地方是不是就多了呀,比方说表一,然后是inner啊,Left呀,Left呀,Draw对吧,角二啊,当然可以起别名是不是别名,然后。
18:33
下换行哈,然后二,然后我们加连接条件去哈,嗯,这我交上别名,哎,啊连接条件是不是就行了呀?嗯,然后哪个地方需要去变一下,对delete,你这儿的话必须要加,你要删的是,呃,表一你还是要删表二啊,是不是给你需要来啊,当然这个地方你这起了别名了,这个地方是不是也得起别名啊,那那我我就这么写行不行,行吧,嗯,然后这叫做别名,别就叫别名吧,应该能看懂是不是,嗯,行吧,这是关于我们的这个删除多表的记录的话,我们应该怎么去写啊啊那这个就说完了,那么接下来呢,我们再去说一下trumpet tracket这个语法简单了,直接tryet table加表明是不完事,好,既然有两种方式,所以咱们是不是应该对比一下呀,那就是。
19:33
两种方式的区别,这个是一个非常经典的面试题了,面试题哈,所以画了五角星,要求大家重点掌握,下一次课的话,我就测试他哈,就测试他先提醒你是不是啊,你该重点记得呢,你得记一下,得长心呀,找同学来说一下吧,郭世伟。这个星空,然后它是穿的添加啊,那说的就是标识裂的事情对不对?增长链啊traffic我们可以称为清空,那么它删除后呢?如果再插入,如果插入,那么标识列或者说自增长列,它是从几开始啊,不是零,它是从一对了,而我们delete删除后,那么如果再插入,哎,那这个标识列的话是从断点开始对吧?啊从断点开始好,然后第二点。
20:45
第二点有没有印象delete可以添加筛选条件对穿的不能非常好哈,那不可以添加,还有没有效率上是不是效率要高上一丢丢呀,嗯,较高对吧?第四点返回值tracket,它是没有返回值的,而我们的delete可以返回受影响的行数,也就几行,删除成功。第五关于事物的问题,传回track能不能回滚,哎,对,这个是彻底的删除,它不可以回滚,而我们的delete可以回滚,今天上午咱们就会去演示啊好,请坐啊,这个就完事了哈,没问题了吧啊,主要就是。
21:45
这些哈,行,呃,这个说完了之后呢,我最后跟大家补充一点,其实每次复习的时候呢,我们都会再补充几个小问题啊,然后相当于是查漏补缺,那补充的一般来讲的话,不需要重点掌握,你知道有它就行,补充一个什么点呢?咱们删除的时候,实际上我还可以追加一个,咱们当时讲那个分页查询时涉及到的一个关键词叫做谁呀,Limit,其实还可以追加它,那后面直接加全部数,那么什么意思呢?也就是如何,如果说连接上它,这是什么意思呢?来我们试一下去哈,啊试一下啊,比如说来看一下哈,看这个地方,嗯,我们找一下数据,我们有没有数据啊,有数据是吧?啊,我们就比方说用一下那个钩子库里边吧,这个里边怎么已经删了,还剩这点了啊,就这点吧,好好,那么现。
22:45
但呢,我要去删除delete from beauty,我是不是要删除这个表呀?啊,当然你可以加where,也可以不加where,随你明白吧?啊,那如果我不加,我要这样删是不是就全删了呀?哎,但是我只想删除,比方说第一条柳岩能听懂意思吧,那其实我是可以这样去加的LIMIT1,哎,是可以这样去加的,我们现在再去执行看明白了吧,那柳岩还有没有没了啊,Select星号from beauty对吧?那么现在我们再去执行,是不是柳岩不见了对不对啊,它这样的一个意思哈,当然你也可以加where条件,那加where条件的话,我应该是这样来写的,比方再来一遍哈,好比方说我们把where,呃,Where,我们的包friend,哎,第一啊,然后等于二的,等于二的不就这仨吗?是吧,然后前几条,哎,别等于二了等。
23:45
于四的吧,等于四的就一个是吧?啊,那就就这么写,没问题吧,哎,那等于四的不就是王语嫣吗?是吧?哎,我把王语嫣这一条记录删除,那你看我也可以这样去加,然后去执行是不是还是一行呀,然后再去查看王语嫣是不是也不见了,哎,没问题吧,哎,这就是关于我们delete可以搭配着limit米的使用,所以说我们完整的删除呢,我可以再去追加这样一个可选子居了,可以追加一个,它根据需要也可以加上啊行了,这个就说到这儿,接下来咱们说一下DDL语言,DDL语言的话呢,我们又可以进行细分,那我在这给大家分一下,首先呢,那就是关于是不是库的管理啊,然后接下来呢,我们再来一个是不是表的管理啊,哎,昨天咱们把库哥表的管理是不是放一起了啊,然后呢,我们呢,又去介绍了创建表的时候涉及到的数据啊类。
24:45
那当然今天还会再继续创建表时,还会涉及到了常见的约束,哎,所以DDL里边重点介绍的就是这些,首先我们看一下库的管理哈,库的管理咱们呢,重点说到的是创建库,还有一个是呃,其实还有一个是修改库,但是不是重点明白吧啊很少去修改库,我也说了,这个存在了极大的不安全因素,我们一般来讲这个库建好了是不是就不改它了呀?啊就不改它了,你要是觉得它不好用,干脆删了它重建,能听懂吧啊我们很少去更改,会导致你啊没改成结果删了是不是啊,数据出现了很大的这种不安全啊啊那么我们也是说一下它的关键词吧,创建库的话呢,它使用的是create data后面加库名,哎,这是核心的,当然说你也可以去追加if not。
25:45
一个system啊,这个是可选的对不对啊,那么我们也可以去比方说跟他其实创建库是设置一些其他的东西,比如说常见的character set,这个代表的是字符集啊,那我这就写字符集名称啊,这个了解一下就行了啊啊因为一般来讲的话呢,我们是不是都按默认的,默认的你这个字母集是什么,已经设置好了,我们这儿不用去加,所以这个地方也是一个可选项啊,那么后面我们学了存储引擎等等,还可以再去加设置存储引擎啊,啊,语法模式啊都可以去加啊啊那目前的话我们了解到这儿啊,当然最最核心的就是create database外加库面对吧,啊就是它,那修改库的话呢啊,咱们使你要是非要修改,那使用的语法就是al data face,后面我们加库名,那我教给大家一个是不是去修改字符集的呀。
26:45
啊啊,修改字集,你要么你想想你可以修改啥是不是啊,修改库名的话呢,呃,我昨天是不是跟大家说来着,你直接写不行,你是不是得去改那个data塔文件夹去啊,你没改没改啊,没改你比方我给你改一下啊呃,咱们改这个,比方说改谁呢?改改go,改改这个student吧,Go我还用呢是吧,比方说改这个student,那么首先呢,我们打开这个C盘下,比方说我们找到我是不是昨天领大家找了这个里边是不是应该有一个data文件夹呀啊data哈,嗯啊my circle是吧,已经找到这个data了,傻了,然后行了,是不是打开啊,打开里边是不是有data啊,它的意思是哦,我得先把服务得重新关一下啊,我服务是不是还没停啊,Next stop my0815停一下。
27:45
好停了是吧,停了之后呢,我们在这个地方把student就直接这样重命名SQS,比如说是不是重命名了,重命名了之后,我把这个当然你关不关都行啊,然后你在这个地方呢,我们再去重新启动一下,要不不管用start那色0815啊重新起好,然后呢,我们打开这,然后进行一个刷新,改没改。
28:14
知道意思了吧,就是你可以这么改啊,可以这样去改啊,好,但是也是不是特别稳定,能听懂吧,还是那句话,很少很少去改啊,行了,然后再去看删除过drop data face if,我这写全了哈,If,一个this,后面加库名,好完事啊,这个就是库的管理啊行,我们再去看表的管理,表的管理里边东西较多吧,啊,第一个是创建表啊,当然这个的话我说了,你重点的记记一下,这个用的还挺多的啊哎,当这个的语法是create table啊,那么我们也是可以去加if not,一个sister,后面我们加表明小括号对吧?哎,然后这个里边有几个必须的哈,字段名,字段类型是吧?哎,然后这两个。
29:14
是必须的啊,那你后面根据需要其实可以去加约束,可以去加约束啊逗号,然后可以有多个啊,可以有多个啊,然后这样去写啊,然后中间的话就是点表啊,是不是代表多个呀啊,它是这个意思,好,那么接下来呢,我们来看一下关于修改表,修改表的话,它里边涉及到的内容就比较多,比方说呃,对列的这个添加删除队列的修改,而列的修改它其实又分为是不是修改我们的名字,还有类型约束啊,那当然也有修改表明啊,那么所以说我们分别来说,先看第一部分,那就是关于添加列,哎,添加一个新列语法怎么来写,A table后面加表名,然后是ad ADD column后面再去加列名,再去加类型,对吧?啊,那么我们这个。
30:14
它当然也可以去加约束啊,更有需要啊,那么这个的话其实就完了,但是呢,如果我这样去写,咱们上次课演示了,它默认的是将这个心列添加到我们原来表所有的列的最后吧,啊,那么如果说我有个需求,我希望把它添加到某一个列的后面,比方说我想把它添加到这个位置去,或者说添加到最上面啊,第一个第一个位置上,哎,这个能不能行啊,哎,其实也行,也就是我可以设置它的位置,那语法上怎么写呢?它是这样来写的啊,那叫做first first代表的意思是添加到对第一列上哈,哎,那么或者是说,哎,我们想放在某一个列的后面,那么就是after字段名,哎,可以这样去放,比方after,哎,某某字段它就会放后面了。
31:06
那有没有after呢?After,呃,这个last呀,Last是不是在最后啊,这个没有支持那个啊,因为你最后的话默认是不是就是啊啊所以它是这样的,那行吧,我们可以试一下,你比方说我们再去建一个表,Create table后面再去加一个谁嘞,嗯,叫做我们的测试,我们的ad column column啊行吧,那么这个里边为了简单起见呢,我就写这样的几个字段,T1INT t2int啊,然后呢,再来一个T3INT,哎,好了,那么这个表的话,我们就创建出来了,再去执行啊好,那么我们刷新一下看一眼。哎,这个地方是不是就会有一个叫做呃,Test ADD column啊,哎,你看这是三个字段的顺序,默认的就是我设计表的时候这个字段的顺序,那么现在呢,我们去插,我们去添加一个字段去呃,Al table,然后我们的test ad column对吧,然后再去添加column列,比方说叫做呃,Newt对吧?哎,类型也是int,比方说我写一个first,好,我们看一下效果哈,执行,哎,然后这个时候呢,我们再去刷新这个表啊,这个地方看的比较明显,怎么样,是不是第一个字段呀?哎,那么假如说呢,我再去添加一个想去添加到某个字段的后面去,那我怎么写嘞,After t2,哎,直接这么写就行了,哎,我们再去执行。
32:40
啊哦,这个有个叫newt了,我们来一个new t2,然后再去执行啊好了,哎,成功哈,然后现在呢,我们再去刷新,然后看一下哎怎么样,是不是在贴后面有个new贴儿啊,哎,行吧,哎,这就是关于它哈,哎,那行了,那么我们的这个,呃,关于我添加列的时候,我们去更改一下我们字段的这个顺序,那其实的话呢,这个语法也就说到这儿了,但是这个东西就很少去用,为什么呢?啊,因为你想想啊,我们表中各个字段的顺序的话,其实对我们后面是实际上是没什么影响的。
33:18
啊,因为啊,我们如果说想看它的顺序,直接在查看的时候,是不是我们更改select列表的顺序就行了呀,啊,所以这个用的较少啊,那咱们作为一个了解,哎,知道这样就行了。啊,有的同学不死心是吧,非要去试一下那个last,那你要是last的话,那就怎么着呢,我们可以在这儿,呃,比方说我们加一个啊,比方说是last,好,我们看一下吧,看能不能行啊,那当然我把这个也改了,比方说NEWT3对吧?啊,然后我们再去执行,是不是报错了,所以它不支持这个last啊,老师没骗你哈,行吧,那这个就是关于添加列的这个顺序就说到这儿了,不,这是添加列,添加列说完了之后,我们还可以去修改列的类型或者说约束,那我们用到的是al table加表名啊,使用的是modify column,然后是列名类型啊,这当然应该是新类型,对不对啊,根据需要可能还会有新约束啊,有新约束分号啊,这个的话是可选的啊。
34:31
行吧,哎,这是第二点,然后第三点呢,我们也可以去修改列名吧,修改列名,这个修改列名怎么写,A table加表明change吧,Change column列名啊,哎,这个应该是前面是旧列名,后面的话是新列名,对吧?要不要加类型要的啊,这个还要加类型,所以你要是顺道把类型改了也行,你要不改也没事,是不是还用旧的呀?啊也可以,然后第四点的话呢,我们可以去删除某个列,删除某个列啊,对了,诶,删除是吧?好,然后删除列,删除列的话,我们用到的是a table加表明drop column后面加列名啊,当然这个没有。
35:31
就行了,第五点的话呢,就是修改表明啊,这个使用的是对rena to,其中这个to是可选的啊,这个你可以自己去试一下好吧,啊,我就不试了啊,行了,这个是关于我们的修改表。第三呢,我们介绍的就是删除表了啊,那么这个表呢,我整个都不想要了,使用的是drop table加表明啊,这个其实就没了,当然我们呢,可以为了容错性嘛,加上一个if exists应该是exists,对不对啊,不是not了啊。
36:16
行,那这个说完了之后,最后补充给大家一个是不是复制表呀,嗯,复制表我们说了两个,一个是仅仅复制表的结构结构啊,然后另外一个的话是复制表的结构外加数据啊哎,这个的语法是create table加表明like就表对吧,然后这个表的结构加数据green table加表明select,嗯,也不一定是星,是不是就是一个查询列表呀啊然后from是不是旧表呀啊根据需要我们也可以去加where筛选,这样写可以吧?啊好了,这就是关于复制啊,咱们也说了,这个复制的话,它其实可以夸裤,可以跨库啊,你用。
37:16
户名打点是不是就可以去引用啊,好,最后数据类型,数据类型昨天介绍了几个好多三种竖直字符型,其实重点不就这三大种嘛,对吧?呃,那么咱们只挑重点的啊,竖直型的话,咱们又分为整型和浮点形,或者说你把它称为小数,因为这个人家还包含定点数,对不对,咱们就说整形,整形的话有几有哪些。Tiny in small in,还有一个是media medium in in,然后这个叫做提稿是吧,还有最后就是big in呢,嗯,对吧,这是根据所粘的字节的大小越来越大的对吧?啊越来越大的哈,这个整形你可以记一下字节,其他的呢,记不记都行,12348啊和我们那个Java中大同小异,然后接下来我们就说一下它的特点嘛,是吧?第一个特点是不是都可以设置无符号和有符号啊,设置无符号和有符号哎,那默认是有符号啊,如果设置无符号怎么样?哎,对了,通过按设置。
38:58
是无符号,所以假如说你有一个题啊,它让你把这个字段设计成就是必须是插入的值大于零,那你就可以添加了,对不对,那就可以添加了啊,这个经常在面试的笔试题中让你去加的啊,然后再看第二点,第二点的话呢,就是说如果超出了范围,超出了范围它是不是汇报一个异常呀?呃,我乱指对了异常,那那么插入什么呢?插入临界值,好,这是第二点,第三点是不是关于长度的问题啊,哎,有好多同学问到这个长度哈,那么我们这个长度可以不指令啊,是不是默认会有一个长度啊啊,会有一个长度啊,那么长度的意思为长度代表是不是显示的最大宽度是吧?显示的最大宽度吧?啊,那么如果不够。
39:58
如果够了就算了,其实够了没什么效果对吧?呃,如果不够,则左边用零填充,但需要搭配加few啊,加few啊,这不就得得了吗?就这么点还有什么啊对,加了之后是吧,然后这个并且默认变为什么呢?嗯,变为是不是无符号的整形了啊,无符号整形啊,这是默认了,你像这个你自己就应该试一下去对不对,你自己呢,我说完了之后你试试这样才能变成自己的东西啊,你要不光听我说的话,嗯,那那不行啊,有的同学就没事是不是啊?嗯,第二点浮点型,浮点型的话,我们这个又分为其实定点数,还有一个叫做浮点数啊,那咱们先看一下吧,定点数的话叫做decim,写法为M,逗号D。
40:58
这个的话是,嗯,一个是float,对了,M逗号D,还有一个的话就是double啊M逗号D是不是完事了啊,这个里边也有一些特点吧,特点第一那你要知道M和D的意思,M代表的是整数部位的个数,Y加我们小数部位的个数,你不能超过M去是不是哎,最大是M,那么这个D呢,它代表的是小数部位,这个是这样的哈,你小数部位不够,它是不是就是补零啊啊右边补灵小数部位够了是不是四舍五入啊啊总之它要肯定是够你这个D的啊,也就是就是保证这个D的这个位数的啊,那么如果说超出了范围,第二点,同样如果超出范围the ball是不是也是OUT5啊啊out。
41:58
呃,我run是这样吧啊,异常啊,并且插入临界值对吧?啊第三点是不是M和D都可以省略,都可以省略吧,都可以省略,但那么对于我们的定点数来讲的话,M默认十,那么D的话默认为零啊默认为零,那么这也就决定了说你在插入职的时候,那么你要挂小数点了,他是不是会给你报异常啊呃,不不叫异常,他是不是会报警告呀啊好哈,然后第四那么我们一般的是用浮点数还是定点数呢?啊,那你就看你要求的精确度了,如果精度要求较高用谁呃较高呃则优先考虑使用呃定点数哈,好,那么对于浮浮点数来说,那么一般的我们的这个小数都。
42:58
就可以去解决了,对吧,那你就看你呃所占的字节了,这个所占字节较小,这个是四个,这个是八个啊啊对吧?哎,这就说完了哈,那行了,接下来我们又说到了字符型,字符型其实有很多很多了,昨天也发现了,对不对?哎,我们随便列举一些哈,比如比如说咱们说到的差呀,We叉呀,Baary呀,BA是保存什么的胶短二进制是吧?We baary这两个的区别绝对就与谁一样的呀,差we差的区别一样,那是不是也介绍了,S是不是也介绍了,还有text呀,Lo呀,我们都可以统称为字符性,但是这是一个统称是吧?你严谨来讲的话,像这个是不是就属于保存二进制了呀?啊,但是我们都放一起了啊好,那么咱们一般用的较多的就是差和V差对吧?啊,那么我们要知道,它代表的是。
43:58
固定长度的四伏,这个代表的是可变长度的四伏,那么呃,它的这个写法为差小括号,是不是里边放一个M啊,哎,那么代表是最大长度不能超过M,是这个意思吧?其中它这个里边的M可以省略,默认为一对吧,那么我们这个写法的话,跟它是不是差不多呀?嗯,差不多,我我粘过来哈,可变长度诶怎么这么别扭呢?啊,这没粘过来是吧?这个写法为V叉M同样也是代表最大长度不超过M,其中M能不能省略,不可以省略,哎,这就是重点对不对?哎,就是这些哈,能跟上吧,然后呢,我们再看日期型去日期型的话,我们发现MY词库里边还挺多的,对不对啊。
44:58
那么我们介绍的有页,那么页的话是只保存年,嗯,然后还有一个就是呃,Date只保存日期,嗯,Time只保存时间,还有谁啊date time它是保存日期加时间,那有的同学刚才问了说老师,那我我设计了一个呃字段,它的类型为date time,但是我如果只插入年月日能行吗?能行,它是不是默认给你提供时间啊啊,就是00:00:00这样的对不对,它默认给你提供一个临界值的这样的一个时间啊啊那么我们这个他们stop up跟它也是差不多啊,也是日期加时间,但是所占的这个空间不一样吧,它所占空间是八个啊,那么所以保存的范围也较大,它所占的是四个,保存范围较小,只能保存到2038年之前的啊,也就是197。
45:58
零到2038年啊,这个大概记一下就行啊呃,另外的话,其中我们time step呢,它比较容易瘦啊,时区呀,语法模式啊,版本呀的影响啊,版本的影响啊,那但其实的话更能反映是不是真实时间呢?呃,更能反映呃当前时区的真实时间啊,行吧,这就是关于日期型,就说到这儿了,嗯,我们停下来啊,这个说好,那么接下来呢,我们来看一下关于修改表,修改表的话,它里边涉及到的内容就比较多,比方说呃,对列的这个添加删除队列的修改,而列的修改它其实又分为是不是修改我们的名字,还有类型约束啊,那当然也有修改表明啊,那么所以说我们分别来说,先看第一部分,那就是关于天。
46:58
加列来添加一个系列,语法怎么来写,A table后面加表明,然后是ad ADD column后面再去加列名,再去加类型,对吧?啊,那么我们这个当然也可以去加约束啊,更有需要啊,那么这个的话其实就完了,但是呢,如果我这样去写,咱们上次课演示了,它默认的是将这个心列添加到我们原来表所有的列的最后吧,啊,那么如果说我有个需求,我希望把它添加到某一个列到后面,哎,比方说我想把它添加到这个位置去,或者说添加到最上面啊,第一个第一个位置上,哎,这个能不能行啊,哎,其实也行,也就是我可以设置它的位置,那语法上怎么写呢?它是这样来写的啊,那叫做first first代表的意思是添加到对第一列上哈,哎,那么或者是说,哎,我们想放在。
47:58
它某一个列的后面,那么就是after字段名,哎可以这样去放,比方after,哎,某某字段它就会放后面了,那有没有after呢?After,呃,这个last呀,Last是不是在最后啊,哎,这个没有支持那个啊,因为你最后的话默认是不是就是啊啊所以它是这样的,那行吧,我们可以试一下,你比方说我们再去建一个表,Create table后面再去加一个谁嘞,嗯,叫做我们的测试,我们的a column column啊行吧,那么这个里边为了简单起见呢,我就写这样的几个字段,T1INT t2int啊然后呢,再来一个T3INT,哎,好了,那么这个表的话,我们就要创建出来了,再去执行啊好,那么我们刷新一下看一眼。
48:49
哎,这个地方是不是就会有一个叫做呃,Test ADD column啊,哎,你看这是三个字段的顺序,默认的就是我设计表的时候这个字段的顺序,那么现在呢,我们去插,我们去添加一个字段去呃,Al table,然后我们的test a column对吧,然后再去添加column列,比方说叫做呃,Newt对吧?哎,类型也是int,比方说我写一个first,好,我们看一下效果哈,执行,哎,然后这个时候呢,我们再去刷新这个表啊,这个地方看的比较明显,怎么样,是不是第一个字段呀?哎,那么假如说呢,我再去添加一个想去添加到某个字段的后面去,那我怎么写嘞,After t2,哎,直接这么写就行了,哎,我们再去执行。
49:40
哦,这个有个叫newt了,我们来一个new t2,然后再去执行啊好了,哎,成功哈,然后现在呢,我们再去刷新,然后看一下哎怎么样,是不是在贴后面有个new贴儿啊,哎,行吧,哎,这就是关于它哈,哎,那行了,那么我们的这个,呃,关于我添加列的时候,我们去更改一下我们字段的这个顺序,那其实的话呢,这个语法也就说到这儿了,但是这个东西就很少去用,为什么呢?啊,因为你想想啊,我们表中各个字段的顺序的话,其实对我们后面是实际上是没什么影响的。
50:18
啊,因为啊,我们如果说想看它的顺序,直接在查看的时候,是不是我们更改select列表的顺序就行了呀,啊,所以这个用的较少啊,那咱们作为一个了解,哎,知道这样就行了。啊,有的同学不死心是吧,非要去试一下那个last,那你要是last的话,那就怎么着呢,我们可以在这,嗯,比方说我们加一个啊,比方说是last,好,我们看一下吧,看能不能行啊,那当然我把这个也改了,比方说NEWT3对吧?啊,然后我们再去执行,是不是报错了,所以它不支持这个last啊,老师没骗你哈,行吧,那这个就是关于添加列的这个顺序,那再继续吧,第二步这是添加列,添加列说完了之后,我们还可以去修改列的类型或者说约束,那我们用到的是al table加表名啊,使用的是modify column,然后是列名类型啊,这当然应该是新类型,对不对啊,根据需要可能还会有新约束啊,有新约束分号啊,这个的话是可选的啊。
51:31
行吧,哎,这是第二点,然后第三点呢,我们也可以去修改列名吧,修改列名,这个修改列名怎么写,A table加表明change吧,Change column列名啊,哎,这个应该是前面是旧列名,后面的话是新列名,对吧?要不要加类型要的啊,这个还要加类型,所以你要是顺道把类型改了也行,你要不改也没事,是不是还用旧的呀?啊也可以,然后第四点的话呢,我们可以去删除某个列,删除某个列啊,对了,诶,删除是吧,好,然后删除列,删除列的话,我们用到的是a table加表明drop column后面加列名啊,当然这个没。
52:31
这类型了,第五点的话呢,就是修改表明啊,这个使用的是对rena to,其中这个to是可选的啊,这个你可以自己去试一下好吧啊,我就不试了啊,行了,这个是关于我们的修改表。第三呢,我们介绍的就是删除表了啊,那么这个表呢,我整个都不想要了,使用的是drop table加表明啊,这个其实就没了,当然我们呢,可以为了容错性嘛,加上一个if exists应该是exists,对不对啊,不是not了啊。
53:16
行,那这个说完了之后,最后补充给大家一个是不是复制表呀,呃,复制表我们说了两个,一个是仅仅复制表的结构结构啊,然后另外一个的话是复制表的结构外加数据啊哎,这个的语法是create table加表明like就表对吧,然后这个表的结构加数据,Create table加表明select,嗯,也不一定是星,是不是就是一个查询列表呀啊然后from是不是就表呀啊根据需要我们也可以去加where筛选,这样写可以吧?啊好了,这就是关于复制啊,咱们也说了,这个复制的话,它其实可以夸裤,可以夸裤啊,你用。
54:16
户名打底是不是就可以去引用啊,好,最后数据类型,数据类型昨天介绍了几个,好多三种竖直型,字符型,其实重点不就这三大种嘛,对吧?呃,那么咱们只挑重点的啊,竖直型的话,咱们又分为整型和浮点形,或者说你把它称为小数,因为这个人家还包含定点数,对不对,咱们就说整形。整形的话有几有哪些tiny in small in,还有一个是medium medium in in,然后这个叫做提是吧,还有最后就是第一个印,嗯,对吧,这是根据所粘的字节的大小越来越大的对吧?啊,越来越大的哈,这个整形你可以记一下自己,其他的呢,记不记都行,12348啊和我们那个Java中大同小异,然后接下来我们就说一下它的特点嘛,是吧?第一个特点是不是都可以设置无符号和有符号啊,设置无符号和有符号哎,那默认是有符号啊,如果设置无符号怎么样?哎。
55:55
对了,通过I设置无符号,所以假如说你有一个题啊,它让你把这个字段设计成就是必须是插入的值大于零,那你就可以添加按了对不对,那就可以添加了啊,这个经常在面试的笔试题中让你去加的啊,然后再看第二点,第二点的话呢,就是说如果超出了范围,超出了范围他是不是汇报一个异常呀?呃,我乱值对了异常,那那么插入什么呢?插入临界值,好这是第二点,第三点是不是关于长度的问题啊,哎,有好多同学问到这个长度啊,那么我们这个长度可以不指定啊,是不是默认会有一个长度啊啊,会有一个长度啊,那么长度的意思为长度代表是不是显示的最大宽度是吧?显示的最大宽。
56:55
三度吧啊,那么如果不够,如果够了就算了,其实够了没什么效果对吧?呃,如果不够则左边用零填充,但需要搭配加few啊啊,这不就得得了吗?就这么点还有什么?
57:16
啊对,加了之后是吧,然后这个并且默认变为什么呢?啊,变为是不是无符号的整形了啊,无符号整形啊,这是默认的,你像这个你自己就应该试一下去,对不对,你自己呢,我说完了之后,你试试这样才能变成自己的东西啊,你要不光听我说的话,嗯,那那不行啊,有的同学就没事是不是啊嗯,第二点浮点型,浮点型的话,我们这个又分为其实定点数,还有一个叫做浮点数啊,那咱们先看一下吧,定点数的话叫做decimo,写法为M逗号D,这个的话是嗯,一个是float,对了,M逗号D,还有一个的话就是double啊M逗号D是不是完事了啊,这个里边也有一些特点吧,特点第一,那你要知道M和D的。
58:17
XM代表的是整数部位的个数,Y加我们小数部位的个数,你不能超过M去是不是?哎,最大是M,那么这个D呢,它代表的是小数部位,这个是这样的哈,你小数部位不够,它是不是就是补灵啊啊右边补灵小数部位够了是不是四舍五入啊啊总之它要肯定是够你这个地的啊,也就是就是保证这个D的这个位数的啊,那么如果说超出了范围,第二点同样如果超出范围,The ball是不是也是out of range啊啊out of range是这样吧啊,异常啊,并且插入理解值对吧?啊第三点是不是M和D都可以省略,都可以省略吧,都可以省略,但那么对于我们的定点数来讲呢?
59:17
的话,M默认十,那么D的话默认为零啊默认为零,那么这也就决定了说你在插入职的时候,那么你要挂小数点了,他是不是会给你报异常啊呃,不不叫异常,他不是会报警告呀啊好好,然后第四,那么我们一般的是用浮点数还是定点数呢?啊,那你就看你要求的精确度了,如果精度要求较高,用谁呃较高呃则优先考虑使用呃定点数哈,好,那么对于浮浮点数来说,那么一般的我们的这个小数都可以去解决了,对吧?那你就看你呃所占的字节了,这个所占字节较小,这个是四个,这个是八个啊啊对吧?哎,这就说完了哈,那行了,接下来我们又说到了字符型,字符型其实有很多很多了,昨天也发现了,对不对,哎,我们随便。
60:17
列举一些哈,比如比如说咱们说到的差呀,We叉呀,Baary呀,Baary是保存什么的焦囊二进制是吧?We BA这两个的区别绝对就与谁一样的呀,差跟we差的区也一样,那是不是也介绍了S是不是也介绍了,还有text呀,Lo呀,我们都可以统称为字符性,但是这是一个统称是吧?你严谨来讲的话,像这个是不是就属于保存日进制了呀啊,但是我们都放一起了啊好,那么咱们一般用的较多的就是差和微差对吧?啊,那么我们要知道它代表的是固定长度的四伏,这个代表的是可变长度的四伏,那么呃,它的这个写法为差小括号是不是里边放一个M啊哎,那么代表是最大长度不能超过M。
61:17
是这个意思吧,其中它这个里边的M可以省略,默认为一对吧,那么我们这个写法的话,跟它是不是差不多呀?嗯,差不多,我我粘过来哈,可变长度,诶怎么这么别扭呢?啊,这没粘过来是吧?这个写法为V叉,M同样也是代表最大长度不超过M,其中M能不能省略,不可以省略,哎,这就是重点对不对?哎,就是这些哈,能跟上吧,然后呢,我们再看日期型去日期型的话,我们发现MYS库里边还挺多的,对不对?嗯,那么我们介绍的有一,那么一的话是只保存年,嗯,然后还有一个就是呃,Date只保存日期,嗯,只保存时间,还有谁啊date time它是保存日期加时间。
62:17
那有的同学刚才问了说老师,那我我设计了一个呃字段,它的类型为date time,但是我如果只插入年月日能行吗?能行,它是不是默认给你提供时间啊啊,就是00:00:00这样的对不对,它默认给你提供一个临界值的这样的一个时间啊啊那么我们这个他们step跟它也是差不多啊,也是日期加时间,虽然所占的这个空间不一样吧,它所占空间是八个啊,那么所以保存的范围也较大,它所占的是四个,保存范围较小,只能保存到2038年之前的啊,也就是1970~2038年啊,这个大概记一下就行了,呃另外的话,其中我们time们step呢,它比较容易瘦啊,时区呀,语法模式啊,版本呀的影响啊,版本的影响啊,那但其实的话更能。
63:17
能反映是不是真实时间呢?呃,更能反映呃,当前时区的真实时间啊,行吧,这就是关于日期型,就说到这儿了,嗯,我们停下来这个。
我来说两句