00:00
那接下来的话呢,咱们看一看这个课后练习题啊,咱们这块呢,打开第11章数据处理之增删改OK。那么大家呢,应该能感觉到这个增删改操作呢,相较于咱们前面讲过的查询啊,包括呢,像DDL里边呢,像这个修改表是吧,这样一些很细节的一些小点操作来讲,增删改的话呢,其实不算特别难,对吧,但是从使用频率上来讲呢,咱们开发中用的还是比较多的,对吧?就相当于你这个DDL来讲呢,这个DM2这个操作量是用的比较多的,好那么我们这一章的课后练习题的话呢,是一共有三个大的练习。那么这个练习里边呢,我们你想想涉及到数据的自然改了,前提呢,是不是你得有表啊啊包括呢,表的前提呢,是不是得有库啊,所以呢,有的练习当中呢,把这个库的创建和表的创建的这个代码呢是写好了,那么有的这个练习当呢,就没有写好,就需要呢,咱们自己呢去使用上一章当中讲到这个DDL操作呢,把这个表呢去创建一下啊这个倒都没问题好,那这块呢,咱们就首先来看一下这个第一道练习题。
01:03
这些练习题的话呢,一共是从这个011直到我们这个第11是吧,诶,我们CTRLC1下来保存到咱们当前的这个,呃,新建的一个编辑的窗口当中,哎,CTRLV粘过来,首先的话呢,咱们先把这个文件呢保存一下啊,我们这么着啊,先回到开头呢,把这个CTRLC一下,然后放到我们这个位置啊放到开头,呃,数据处理是增删改的,课后练习没问题。那这块呢,我们把它呢,选中CTRLCCTRLS,然后在这CTRLV是吧,保存一下就可以了,好这块我们放大一下来看一看,咱们这个课后练习题的这个第一个大的练习,这呢属于咱们这个大的这个叫练习一。OK,没问题,那这里边儿的话呢,看一看,首先的话呢,需要创建一个数据库,那这块呢,已经写出来了,我就不去多写了,大家呢都需要掌握这样的一个操作,虽然说呢,在实际开发当中,比如说你去应聘成功以后呢,这个在公司当中一般呢,刚开始的这个数据库的创建,包括表的这种创建呢,有可能都不是你来做的。
02:02
那有可能都不是你来做的,那你可能做的更多的行为呢,都是这种增删改的,增删改查的这个行为是吧?哎,注意一下啊。因为本身呢,像这个数据库的创建表格创建它难度也不大啊,那如果说让你都去写查询,那其实才考验你的能力的,对吧。好,那首先呢,我们来看说create database啊,If not exists这个DB test 11咱们这第11章嘛,Character set u8这个呢应该很清楚,好,咱们当前这个用户里边呢,实际上是没有这个数据库的,我这块呢,就选中呢做一个执行。嗯,执行完以后呢,对应的我们这块呢,就创建好了F,我们刷新一下,那就能看得到对吧,那就能看到这儿呢,咱们是通过这个图形化界面的方式去操作了,那实际当中的话呢,我们把MY库呢,都部署在这个Linux环境下的话呢,我们就使用这个指令了啊use DB台11表示呢,我们正使用啊,要使用了这个数据库,好,那在这个数据库下呢,我们首先呢去创建一个表叫MY小employees,那表明呢,我们说通常呢都是小写的。ID firstname lastname user ID salary,你看这个呢,它没有加这个下划线对吧。
03:05
嗯,没加就没加吧,这个呢,我们按说呢,看成两个单词呢,应该补一个下划线的对吧,那这个呢,它是写现成的,那我们就不动它了,对应的这个类型长度我们这块呢都写出来了,好我们选中呢做一个执行。行,那这块呢,我们就创建了一个叫my employees,是不是这样一张表对吧?哎,下边呢,有另外一张表叫users表ID user ID和department ID没问题,行,那这块呢,我们就正常的也选中呢,给他做一个执行。这就可以了,对吧?行,那这个创建完两张表之后呢,下边呢,就涉及到了咱们表这个相关的这一些这个操作了,这个看着有点别扭啊,我就把它往前这个移动一下,首先的话呢,这里边提到一个叫显示叫my employees,这个表的结构啊,这个比较简单,是不是就D啊,然后MY下划线,那employees。没问题是吧,这个双写一个一。好选中呢,我们做一个执行,那这时候我们就查出来了,那后边呢,因为涉及到质量的,关于这个字段的一些这个插入操作啊等等的这个为了方便看我这块呢,就把它盯一下放到这了。
04:07
那顺带的话呢,大家你也可以把我们这个user表呢,User表呢,是不是也看一下啊,DA叫a user,那这样一张表啊,选中呢,我们去做个执行,这是它的这个字段的一个情况,那我们这块就盯出来,后面咱们一会儿呢直接用。好,下面的话呢,提到了,就是我们向这两个表当中去插入数据,这个一看的话呢,还是有点工作量的是吧,那咱们就插入吧。嗯,那我们看一看,针对于这个my employee表,12345 12345,这每一个字段呢,相当于都复制了,而且呢,你看他写的这个顺序,跟我们当时声明这个表中的字段的顺序呢,是不是一样的呀,OK,这时候你写起来呢,就放心了,那我们怎么做呢?Insert into,那我们叫my employees。没问题吧,然后呢,呃,由于呢,我们这里边每一个字段其实都复制了,而且顺序都一样,其实我们就没有必要在这里边是不是专门指明它这个字段了呀,那就可以不去指定了啊,我们这块呢,直接Y64,那就这块呢,我们先写一是这意思吧,然后呢,这个就叫叫这个名是一个字符串,用单引号呢引起来,然后再接着又是一个字符串啊,这个呢CTRLC。
05:15
放这儿啊,UCID,那UCIID你看还是个字符串。把这个CTRLC。这么着对吧,然后再逗号一下salary这个895CTRLCCTRLV。哎,这么着一下,那这块呢,我们这样要是一封,相当于我们这个就是独立的一个隐私into这样的语句了,是这意思吧,来我们这块呢,咱们先跑一下。这完以后呢,首先我们这块呢,做一个select from my employees,诶这么着选中执行好,你看我们就添加成功了。没有问题的对吧?好,那这块呢,下边呢,这个每一条数据呢,因为它添加这个字段呢,顺序都一样,而且每个都有值,所以咱们呢,其实是可以考虑呢,用一个隐私into,是不是写多个这个values的一个方式啊,这个大家应该还记得吧。
06:02
那怎么弄呢?比如我们就以它为例吧,我就先把这个啊先CTRLV粘过来了,然后呢,第二个这个我们就改成是个二,然后这个是它CTRLC,那就这样粘一下呗。TRC。这有个体力活了,CTRLC。这个是860。就这么着,然后呢,是不是逗号一下,然后接着再往下写,那你要说为了这个对齐好看呢,你也可以把这个呢,就写到这儿,把这个VALUE6呢,你写到第二行也行,或者你换到第一行也可以,这个就写这个345就一次这样这样去弄呗。理解是吧,好,我这块呢,我就我我就弄一下吧。这是三的,这个是四的,这个是五的,是不是就这么着。嗯,三。四五好,这个呢,你粘的时候你小心一点,别粘错了。这个是他。我就这样竖着粘吧。CTRLC。纯体力活。
07:01
你看外国这个人的名字呢,有的咱感觉怪怪的啊。而且他有时候这个呢,就是翻译成中文的话呢,可能就是一个叫铁匠,那个叫农夫是吧,就是它有具体的就是职业的一个意思。这个是1100。CTRLCCTRLV,好这个呢我们就OK了,那这块呢,因为我们第一条已经添加过了,所以这块我们就把2345呢给它加一下,运行没问题,好c select星,我们这块呢,查看一下,那也是OK的,好,这就妥了,嗯,然后呢,像这个user色表中呢,去插入数据,那你也是看一下第一个呢,是不是就我们说这个ID下边那个叫UID,那最后一个呢,是我们叫department ID,没问题,那相应的这个方式的话呢,是不是跟我们这种方式一样,大家去做就可以了呀,这块呢,我就把这个时间就给省了,咱就不在这块呢去浪费这个时间了。好,那这块呢,大家直接把这个呢CTRLC啊,咱们粘过来就可以。
08:02
这么着就行对吧,那这块呢,我们把它选中,然后执行好了,那此时呢,我们再去select。这个星哎,From我们叫users,那这样的一个方式来选中执行好没有问题,没有问题行,那这块的话呢,我多说一句,大家呢,你如果看一下我这块呢,已经写好的这个代码呢,你会发现呢,我上边关于咱们这个my employees这个表添加数据呢,我多写了一种方式,你看这个方式呢,是不是有点意思。是不是有点意思,你看能不能看懂啊。你看能不能看懂咱们上面讲的,咱们讲这个往一个表中去添加数据啊,实际上呢,咱们是不是大方向上讲了两种方式,一种呢,就是这种啊,这个insert into一个表,VALUES1条一条数据这样去添加,对吧?那还提到一种方式呢,就是insert into一个表,然后我们直接呢,是不是写一个select,就是写一个查询语句了,是吧?那这呢是我们讲的第二种这个大方向的一个方式,前面呢,我们讲课的时候呢,说select,我们通常呢,是不是基于from某一张表,我们呢,去这个相当于导入的一些数据是吧?那你看这块呢,它就没有说from一个表了。
09:09
而是呢,就是我们写了一个select,就是这样的一个,呃,一连串这个字段,然后UN奥呢,咱们前面讲查询的时候,是不是专门说过这个UN,当时讲那个Y连接的时候还记得吧,讲外连接的时候呢,满外连接我们当时怎么去实现,当时咱们提到UN和UN all,这个UN all的话呢,我们说是不去重的,对吧,那这块我们就这是一条数据,这一条数据,每一条数据呢,我们都相应的让他们取个并集,把并在一起,这呢其实就是五条数据嘛,然后我们in into一下,这个方式也是可以的。也是可以的,有点意思是吧,那我们这块呢,也可以去演示一下,你比如说咱们先把这个员工表当中的。这是员工表吧,把员工表中这个数据呢,我们刚才这块呢,做了一个查看,你看已经有了,我这呢做一个删除,删除的话呢,咱们就叫做delete啊,顺便呢,咱们多练一练,叫my employees是吧,那我们把这个数据呢,都给它删掉,删掉完以后的话,我们再去做一个查询,是不是就没有了,然后呢,咱们把刚才呢这个操作CTRLC一下。
10:11
那回过来。陈卓威,那张过来,这个我们这块写一下,这个叫方式二吧。来我们把这个呢,选中做一个执行。诶你看这块呢,其实就已经成功了,我们再去select一下,你看这个数据呢,是不是照样的是有的呀,OK啊这种方式呢,也是可以的,行这个呢思路呢,我们把它打开好,那接着的话呢,我们往下看,这里边呢,提到第六个这个需求说呢,将三号员工的last name呢修改为他,嗯,三号员工的这个三号呢,我们是不是可以通过这ID呢去定位,OK,那我们这块这样写说那select,那不是select修改嘛,Update是吧。这个my employees,然后set一下他的这个lastname。改成这个信息。选中CTRLCCTRLV。
11:02
然后where。这个ID呢,等于三。嗯,这么着就可以了。没问题是吧,好,我们选中了做一个执行。那就妥了,行,这个我就不去查了,说呢将所有工资呢,小于呃少于900的员工的工资改成1000,那这个呢,也是个修改,就update还是那叫MY,那employees是吧,然后set一下什么呀,这个呢,它的字段呢叫salary,那set这个salary呢,等于它原本的salary呢,是不是这个。改成1000了,这么着是吧,然后呢,Where什么呢,就是所有的这个Saturday,凡是你小于这个900的。把它呢都改成是1000,那就这样的一个行为啊,没问题,哎,选中执行可以了,那一共呢,是有三行数据受到影响,那就意味着我们原有的这个表当中。那原有的我们这个员工表当中看三个啊,一个两个是不是这三个对吧,就他们仨做修改的。嗯,可以了,然后接着再往下看这个将呢,这个user ID为这个的user色表和my employees这个表的记录呢全部删除,哎,这呢,我们说都有这个叫UCID,那把这两个字段呢,相对应的这个叫这个值的给它删掉,这个应该比较简单吧,那大家呢,呃,首先我们想到的是不是就是分别的去删就可以了,比如说delete from叫MY。
12:19
这个employees,然后呢,这个where什么呀,叫user ID呢,等于是不是它呀。好,CTRLCCTRLV这个呢,就把它删掉了,然后再接着呢。Delete。那from一下,我们这个叫users,这个叫users表少个S是吧,然后呢,哎,Where什么呢?哎跟我们上边这个呢,是一样的,CTRCCTRLV,哎那这时候呢,我们选中它俩是不是分别执行就可以了呀。那比较简单,比较简单,那我这块呢,就不执行了,我这叫方式一,那有同学就想啊,那是不是就有一个方式二,哎,确实这个方式二的话呢,大家应该是没有见过的,有点意思来给大家呢,拓展拓展这个思路说呢还可以这样去写。
13:04
大家你看我们现在的这两个表里边呢,是不是要删除的都是这个UID叫叫这个名字。是吧,都叫这个名的,那这是两张表,说有没有可能性,像我们查询一样,咱们把这两个表呢连在一起,然后呢,就找出来这个UCIID呢,是叫这个名的记录,然后把它们全干掉呢,哎,其实呢是可以的,哎,这个操作大家可能没有见过啊,这个你可以呢,就是按这个方式,就是两个操作也可以呢,就写成一个,写成一个呢,就这样写delete。怎么着啊,From啊,叫MY下线叫employees是吧,然后这个呢,我们取个名,比如说叫M啊,然后呢,叫join一下,叫user表,我这个叫U,然后on什么呢,叫M点,叫user ID。哎,它是不是这个UCID没写错吧,哎,等于咱们U点是不是这个叫UCIID啊。理解是吧,然后同时的话呢,咱们还要求啊,比如我们说这个叫M点吧,它的什么呀?嗯,它的这个UID这个名呢,是等于它的。
14:06
能理解是吧,相当于我们就把这两个表呢,是不是通过这两个字段呢,就它联系在一起了,然后呢,诶你这个是叫它的名,相当于这个user表呢,也是叫这个名,然后这块你还得注意我们此时呢,在这个delete这块呢,你的指明呢,我们要删除的是M和U这里边的。啊,这块呢,大家可能是这个觉得有点突兀是吧,哎,Delete这个M和U里边呢,是从这两个表连接一起的,这个结果中呢,去做的一个删除,好那么咱们现有的这个表当中,你看相当于我们要删的话呢,就是优色的表删的是不是第三条记录,然后我们这个表呢,删除的,嗯,这个好像也是第三条吧。呃。谁看看啊?这个的话删除UCL是这个啊,也是第三条是吧。哎,这不在这吗?OK,行,那这块我们来看一看,这个是否是能够删除成功,那此时呢,我们做选中啊,执行一下,你看两条记录是不是受影响了,好,那这时候你可以去做一个查看啊,Select星去from一下叫MY下划线啊这个employees。
15:08
来我们选中执行,看一下这个第三条,那是不是就没有了,那同样的我们再去。啊,Select去一下。哎,咱们叫这个优色这个表。哎,选中执行,那你看是不是也没有了,诶这个呢方式大家可能没有见过,它的好处呢,就是说原来呢,我们需要呢,往数据库服务器呢,是不是送两条记录两条这个SQL语句我们去执行,现在是不是一个就可以搞定了,哎没有问题啊行来我们接着看这个第九个。要删除my employees表中的所有数据啊,删除所有数据了。删除所有数据的话呢,我们就可以是不是用这个叫delete。他没有说呢,让我们去清空列表啊,就删除的,所以你就delete from就可以了,叫MY下线啊,这个employees,然后同样的delete from一下,我们这叫users。那就可以了,好,这个时候我们选中执行啊,删掉了这个选中执行,那删掉了,说检查呢,所做的这个修正,就是看你这个修改呢,呃,这个执行呢,是不是说执行成功了,其实相当于我们就做一个这个查询就可以了,看一下我们这个员工表里边。
16:13
我们这个user表里边儿啊,数据上都没有了。还都没有了,行,下面呢提到说叫清空,这个叫my employees表,那有同学想说我们这都已经把这个数据都删掉了,是吧,大家清空有什么意义呢?啊,那这个呢,就是当前我们这个题目呢,其实是这个这个没什么区别了哈,就是已经是相当于都清掉了,只不过呢,在有的场景下呢,我们有可能是不是在delete from之前,咱们会有一个叫什么呀?是不是set auto commit等于force啊?对吧,等于false,一旦等于false的话呢,我们这个操作呢,它就有可能被回滚了,那但是这时候呢,你要是清空完以后呢,是不是肯定就回滚不了了呀,那就是窗table啊MY下线这个,那employees这个操作完以后呢,它是一定不能够回滚数据的,数据呢就真的就没有了。啊,真的就没有了,好这个呢,是咱们这个叫练习一,那下边呢,我们看一下这个叫练习二。
17:07
啊练压啊,这个咱们把这个可以打的长一点,就下一道这个练习题了,好看一下。嗯,这个里边的话呢,首先是这两个点CTRLC一下,咱们先把它呢粘过来,然后呢,下边有一个三啊CTRLC。再接着。啊,这块还题目还不少呢啊CTRLCL一下。这样是吧,好,我们看一下,首先呢,说使用现有的数据库叫DB test11,那我们直接就use一下DB。11对吧?啊,你也有可能你现在在别的数据库下,那我们现在要选中了做一个执行,那使用的就是DB台11了,下面呢叫创建表格,就是创建我们这个表叫做pet,就是宠物的意思,这个表的话呢,是在这儿啊,我们就把这个呢可以去盯一下。
18:01
稍微有点小,再大一些,好,那我们这块呢,就来做一个创建啊,Create一个table。嗯,那create table叫什么名呢?叫pet,那这块我们一对小块,咱们这块你也可以去加上if not exist没问题,那我这块呢,我就省略了,那下边呢,我们就依次呢,去给它创建每一个字段。是一个work类型的20,嗯,逗号。这个owner。火柴类型的,这也是个20。然后呢,Species。那这个呢,就是一个叫物种是吧,这样意思没写错。那是一个,我差也是20。这个sex。这个呢,因为它不是雄性就是雌性,那这个呢,就用一个字符来表示的了,所以呢,它就用了一个差的一个1BIRTH,这个出生的日期,这个呢只用这个年来表示的,所以就用这个year。这个咱们到下一章当中啊,咱们把嗯,这个MYS库当中涉及到的各种数据类型,咱们透彻的给大家讲一下。
19:06
嗯,代词这个呢,也是一个页,就是什么时候这个词的是吧,好了这块我们就写完了,咱们选中呢做一个执行。行,这个时候呢,我们这个表呢,相当于就创建成功了,你也可以呢,DEA,那我们就查看一下这个叫派对吧啊,我们选中啊执行啊,OK,那此时呢,就是我们见到的这几个字段啊,方便咱们一会用啊,我就放到这了,好下边呢,要求去添加记录,这个记录的话呢,诶你看这个记录呢,它里边跟我们上一道题呢,就不太一样了。那这里边我发会发现呢,它是不是有些这个字段呢,就没有这个具体的值了,对吧?那这是我们添加的话呢,就可能不方便的一次性的给他去添加,那我们看这个呢,该怎么去办啊。添加记录好添加记录呢,首先我们看一下跟我们声明这个字段的顺序,你看是不是一样啊,Name owner species name owner species sex birth death OK是一样的,所以这时候我们在添加的时候呢,可能就哎能放点心是吧,你看我们这时候怎么去弄啊,Inser into一下我们就派。
20:06
呃,有的同学可能会想了,因为这时候呢,每一条记录呢,你看有的它是空的,现在没有去做一些赋值。那么这个时候的话呢,怎么办呢?有同学可能想了,那我就一条一条去付吧,可不可以呢?当然没有问题,那我们又能不能把它就写成一起呢?比如说我们这时候VALUE6就跟咱们那会儿提到了一样啊,VALUE6的话呢,我这就第一条记录这呢是第二条第三条第四条,一共是几条啊,1234566条,哎,这还不少呢。这是不是就六条记录啊,那能这样的去处理吗?也就是说这个好像不行吧,实际上的话呢,也可以的,也可以的,这个pad的话呢,就是我们声明的这个字段的顺序,跟他这块呢顺序是一样的,所以我就不刻意的在这里边去写这个字段了。啊,OK行,那接下来的话呢,你看我们写怎么去处理,我这呢就直接来处理了,咱们这叫。
21:02
是不是是不是他呀,嗯,然后第二个这个写着反而稍微费点劲。然后第三个是它的这个类型叫cat,第四个呢,这个叫F,就是词性的female对吧,然后birth呢,它是个年份,年份的话呢,也是一个日期类型的,用单引号引起了2003,然后最后呢,是哪一年去世的啊,这一年去世的这个大家清楚是吧。嗯,他这块呢,还。这个你看这是字符串类型,这是日期类型,还都是这种这个得加引号的这种场景,嗯,那我这块呢,我就我就。咱们就先给他都加上吧,这是第一个。第二个。三四。五。123456个,还差一个。行,那咱们这么着,我现在省点事,CTRLC粘过来粘过来。土豆懒是吧,好,那这块呢,我们来一起。
22:03
这个别写错了。这个呢叫cat。嗯,2004A,好,你看这块我们说这个位置怎么写呢,这个位置的话呢,大家直接写这个nor就行,就是我们要赋值的话呢,你要是不给他写,其实复的是个nor,那现在我们要格式统一的话呢,那你就显示的把这个now呢给他写上就可以了。好,再接着。其实这个呢,就是我想给大家去说的点好,你看这这块的话,涉及到这个叫owner,这个呢是一个狗,这个狗呢应该是个流浪狗了,那它没有这个主人,那这个位置是个空,那我们怎么着呢,是不是就写个闹就可以了。就这样就行。这是一个dog。F。2009年。这个出生的,然后这只狗呢,现在还没有死是吧,这个位置呢,是不是再写上零道就可以了,那就这样处理。
23:02
M。200这块呢,就没啥意思了,大家这块呢,你就嗯,看着我这块写也行,或者你把它这个快进一下也可以。啊,大家写的话呢,你要是比较熟了,你就直接从我这个写好的这个里边你就粘过去就可以了,2003。2009行,我这块呢,我尽量也加个速。这个是个闹呗。鸟,这个养鸟当宠物的话呢,一般都是老人,咱们年轻人的话呢,通常这个都不爱养鸟是吧,其实我小小的时候呢,哎呀,这一想想,感觉小时候还是挺快乐的哈,哎,我觉得到目前为止,我最快乐的时光应该就是小学的时候。啊,因为那个时候的话呢,哎,或者我觉得最聪明的时候是那个时候哈,那时候呢,玩也玩了啊,学习的话呢,就有点凡尔赛了哈,这个学习呢,基本上轻轻松松的也能拿到全校的前三名啊,基本上六年也都没有掏出过前三名,然后这个六年当了班长是吧?呃,玩的话呢,那真是也没少玩啊,我记得上小学的时候,我喜欢养鸽子啊,最多的时候呢,是养了43只鸽子。
24:14
啊,而且这个鸽子每一每一就是每一对,这个鸽子他的第几窝的孩子是谁啊,这第几窝的孩子又又跟呃他的孩子又是谁是吧?相互之间的话还都特别清楚这个家谱啊,就那个时候呢,是挺好啊,然后再再大一点的话呢,就是不能玩了啊,学习还凑合,再再大了以后呢,就是呃学学也不行了,玩也玩不好了是吧,就成这样了哈,这个小学时候呢,感觉还是很快乐的。行扯远了,来我们拉回来的话呢,现在咱们把这个数据呢,添加到咱们这个pad这个表当中,好我们选中了做一个执行,嗯,你看我这块写的都没有问题啊,这个成功了,成功好以后的话呢,首先我们做一个查询,那select行,那from一下我们这个派。好,选中呢作为执行,那这个数据呢,就查出来了,没有问题,下边的话呢,我们看这个具体的一些需求说呢,添加字段,主人的生日,哎,OK,这呢是我们线条表,现在需要我们加一个字段了,这其实是我们上一章当中讲的这个内容,那使用的这个叫out table对吧,叫pet I的一个字段,这个。com的话呢,可写可不写。
25:16
不写没关系,At什么呢?它叫on birth类型呢,就是date啊,其实都给我们写好了,咱们就直接粘过来,这样啊选中。执行。A就可以了啊,此时的话呢,你再去做一个这个查询,那这时候呢,就多了一个列,那它就全是一个闹值。啊,全是个not纸啊,那这时候大家注意我们这个al table呢,是不是也是DDL的操作,它是一个不可回滚的,就是你这个字段呢,创建好以后就不能回滚了,除非呢,你这块呢去呃把这个字段呢,是不是通过out table的方式给它做一个一个drop删除,那那你这时候它才会消失,好接着我们看下边说将名称为这个的猫的主人改成它,那这个呢是一个update修改,修改的是我们这个pet,然后set什么呢?把这个猫的主人,咱们这个主人呢,用的是叫owner。
26:05
对吧,改成是它,那我们把这个呢,CTRLC那这块呢改一下。那为什么呢?看一下这里边儿这个信息。这个名称为这个的,是不是就name等于谁先?长音呢,就是其实要找的是不是就这只猫好。把它呢先CTRLCCTRLV粘过来,The猫,注意它有可能呢,这块你叫这个名呢,它可能是一个猫,也可能是个别的,所以呢,这块还有and呢,叫species对吧。这个是谁啊,是不是我们这个叫cat呀,诶这个没问题,好,那此时呢,我们选中大家相当于是就我们把第二个这个就给它做了一个修改了啊执行执完以后呢,我们这时候再去做一个select查询啊,此时呢,是不是就改成这叫kimin是吧?OK,好,下边说将没有死的狗的主人呢改为它。嗯,那这呢,首先还是一个修改。Update一下我们这个pet,然后set什么呢?主人啊,那还是涉及到这个owner啊,改成是这个。
27:03
在这大课是吧。哎,翻译成中文叫达克,那其实呢是duck,是鸭子的意思吧。嗯,好,然后呢,Where什么看一下。这个没有死的狗的主人,那没有死那意味什么呢?就是它的这个death呢?是不是is?嗯,Is not,那就相当于它是is not,就相当于还没有死啊,这个狗是吧,然后and啊,Species。是这个dog。行,那我们看一下这里边儿没有死的狗,那首先呢,你得是这个狗,那这仨里边没有死,是不是就是我们这这这俩。把这俩的这个主人呢,改成是这个叫duck是吧,好,我们选中了做一个执行。啊,两条数据,那我们这块呢,做一个select星。啊,直行,哎,是不是这俩。哎,没有死的,就是这块没有死的狗的,哎,主人做一个修改,嗯,OK,好,再看下面。查询没有主人的宠物的名字,OK,这呢是一个查询操作,那主这个宠物的名字呢,这个我们就直接搜的是这个叫name了啊from一下我们这个pet。
28:09
啊,Where什么where,没有主人的,就是我们这个叫owner。那意思是不是no啊,那这样就可以了,好,那我们这块呢,选中做一个执行,那就查出来就是它,那就是它,嗯,OK,行,就过了下一个查询已经死了的cat的姓名,主人以及去世的这个时间,那我们这块呢,做一个select。查询的是什么呢?他自己的name还有呢,Owner。那个name owner,还有去世的时间,那就是death。哎,From一下我们这个pet说where已经死了的,那就where这个death啊,是不是is not no啊,那就表明他已经死了的,嗯,OK,执行。嗯,有这样的两条记录,那这呢是他去世的这个时间,好在下边删除已经死亡的这个狗,那就是delete from一下我们这个pet。
29:03
那where,那首先呢,是已经死亡的,那就意味着where,我们这个death呢,是不是is not not啊,它有这个具体这个时间的,然后同时的话呢,And什么呀,我们这个species。那它呢,是不是得等于我们这个叫dog对吧。嗯,叫这个道行,那从我这个表当中,我们看一看咱们想删的是谁。选中已经死亡的首先得是狗,那就这仨里边呢,找一下是不是就把我们这条数据呢,就给干掉了呀。好,那这块我们选中执行一下。那影响了一条记录,那我们这时候呢,再去做一个select。选中。哎,你看刚才呢,我们那条狗呢,是不是就干掉了,好没有问题。那接着查询所有宠物的信息,哎哟,这不就刚才我们做的这个事儿嘛,Select星去from一下我们这个pet就可以了。选中。来执行,那就它好,这呢,就是我们说的这个第二道这个练习题,那其实整体上来讲还是比较简单的,来我们这块呢,来看下这个练习三。
30:06
也这么着一下。保存回过来。好看这。这个练习三说呢,有这样的几个需求,CTRLC粘过来。下边啊,这个也不多,嗯,CTRLC一下。好,诶,貌似呢,我们这里边看到这个查询操作有点多,那就这一个修改是吧,来做一下,首先呢,去使用一下,我们叫DB test11,还是我们现有的这个数据库,选中啊没有问题,下面呢,创建表并添加记录啊,这里边儿呢,创建表添加记录啊行,那这个表呢,倒是都给咱了,那我这块呢先盯一下,哎,回过来。好,创建这个表,他倒没有说这个表具体的一个字段类型了,那我们就根据它添加这个数据呢,咱们去设计一下它这个字段,那这个呢,我就来写一下create一个table,那叫employee是吧,然后这么着。
31:01
所以大家还记得咱们创建表讲了几种方式吗?是不是大体上来讲的话呢,是两种方式啊。啊,一种的话呢,就是我们说的自己这样白手起家的方式啊,另外呢,就是基于现有的表呢,我们去创建表对吧?哎,这个呢,显然是这个第一种白手起家的方式了,那这是一个ID,那我们就用in类型吧,第二呢叫做name,那我们来一个water类型。那这个通常也不会特别长,我们来个15吧,这个sex,这是它的一个性别,那我们也用个waterar类型,那实际上呢,这一个就够是吧,那其实呢,像一个的这种字段的话呢,我们可以怎么着呢,咱们就用一个差来表示,其实是比较合适的,那这时候就涉及到那什么时候用差,什么用这个work差呢?下一章当中咱们来说给大家呢,卖一个官司。啊,到时候我们讲在设计数据表的时候呢,什么样的这个字段呢,设置是比较好的,这也是包括我们讲数据库,相当于是优化当中关于表设计方面的一个点,啊这个大家注意一下好,下边呢是这个电话号码,那我们就用这个word类型了,看我这写一个,比如说25吧。
32:02
这个ADR啊,这它的住址啊,Water类型,比如来个35 OK,然后这个salary啊,工资啊,是个大部类型的啊,这个呢,你也可以写成比如十位,其中两位是小数位啊,我们先这样来处理好,那此时呢,我们选中啊做一个执行。可以了是吧,然后接下来的话呢,我们就需要呢,往这个表中呢去添加数据了,这个添加的话呢,咱们上边是不是已经有丰富的经验了,那我这块呢,就想偷个懒了,那咱们就这样呢,做一个添加啊,我CTRL一下了就。这个添加的话呢,我们就直接粘过来看一眼,Inser into,我们这个employees加用ID name sex,这个t LA salary啊这个没问题,就是这块呢,这个添加的话呢,如果跟我们添加这个表,这个声明这个表的时候,这个顺序如果是完全一样的,就像我们目前这个场景呢,我们要把它去掉,是不是也是可以的呀。对,没有问题,好,那下边呢,就依次对应的我们这里边儿这个字段,你往里边去填啊就可以了,咱们上边因为已经有很多这个经验了,我就没有自己去亲自写了,来我们选中了做一个执行。
33:05
可以了,来这块呢,我们首先呢,你查一下看看靠不靠谱,Select星from一下。哎,这个。哎,这么着是吧,好,我们选中呢,做一个执行,诶是可以的行,诶这块的话呢,其实给大家一个建议什么呀,就是我们在进行这个,咱们这章讲的是不是主要是DM2的操作,咱们在进行这个增删改操作之前啊,建议大家呢,你先去查询一下。哎,建议呢,先查询一下啊,保险一点。养成一个好习惯,下面来说查询出薪资在一千二到一千三范围内的员工信息,那我们就select了,就from一下这个employee,然后where。嗯,这个salary对吧。他呢,得between。那这个1200。这个1200,然后按这个1300。哎,这样就妥了,比较简单,这个的一千二一千三,这个有几条数据啊,好像就这一条是吧,来选中。
34:03
啊,这个错了,嗯,Employee加个S,多了一个S。那就这一条记录,OK,就这一条,下一个说查询出姓刘的员工的工号姓名和家庭住址,OK,这个都是咱们讲的查询,而且呢,还挺low的是吧。这个工号呢,ID姓名叫name,家庭住址ADD是吧,然后from一下employee。然后呢,Where这个我们说姓刘的,那就相当于这个name呢,这个叫like模糊查询。呃,姓刘的,那咱们这里边儿呢,如果你要确定都是这个中文的话呢,通常这个姓的话呢,都是第一开始的,所以说呢,你也可以前面不去加这个百分号,实际上是可以的,是这意思吧。啊,咱们这块呢,你要帮一起呢,你就可以加上。姓刘啊,但是你要说这样有歧义什么呀,那有可能人家不姓刘,但是呢是比如说张刘,呃三是吧,哎,那你这样写的话呢,相当于是韩字符刘的了啊,那你要这样说的话,那我们就把前面这个百分号去掉吧,这肯定是姓刘的对吧?来我们选中了执行。
35:06
两个行。可以了,然后下一个说将李四的家庭住址呢,改为广东这个叫韶关,那这块呢,建议我们修改之前呢,你先看一看,将这个李四的是吧,家庭住址他是佛山的,你给他改成这个韶关,好修改嘛,Update。嗯,Update呢,咱们就employee。然后set一下它的ADD啊,改成叫广东韶关。CTRLC啊粘过来,然后where。咱们这个叫什么呀,人家说的是把这个姓名叫这个的,那你就这块用姓名来去做这个搜索。哎,这样就行好来,我们选中执行可以了,然后我们再去做一个select星啊,选中执行,那是不是就广东韶关了,对吧,没问题。好,下一个说查询出姓名中带小的这个员工啊,这呢就是练以前查询的。这个员工,那我们就查询星吧,From一下employee,然后where一下这个name like。
36:04
百分号。里边呢带一个小。那就可以了,行,整个的这个练习题的话呢,其实我们练这个增删改的这个情况呢,少一点,那你要说整体上来讲呢,练的都是这个增删改查都是DM2了是吧,因为我们这个查询里边呢,涉及到这个稍微多一点,好这就这俩行,那这块的话呢,我们关于这个DM2的扣练习题呢,咱们就结束了,整体来看的话呢,其实难度不大。啊,增删改难度不大。啊,就是我们到时讲这个内容的时候呢,提到过有一些场景上增删改就不成功了,是由于什么呀,由于约束的影响,那约束的话呢,咱们第13章给大家来讲解这个约束,那么在讲这个第13章之前,咱们呢,诶把这个数据的类型的精讲呢,给大家说一下啊为什么讲它呢。诶,大家应该也能看到了,就是我们这里边涉及到在创建表的时候呢,是不是这个类型的话呢,经常我们比如说你用差呀,是用work差呀,对吧,甚至说呢,除了这个差和窝差之外,还有没有其他的这个字串类型呢?哎等等的啊,我们包括浮点类型,我们该选哪一个啊,还有它的精度的问题怎么去看待,那我们呢,就要把咱们MYSQ当中丰富的数据类型给大家呢,整体上讲一下。
37:17
好,那我们这个练习呢,就先说到这儿。
我来说两句