00:00
来我们开始这一节的学习,这一节叫数据处理,我们在上一节当中给大家提到了,上一节我们讲的叫创建和管理表,属于DDL的操作啊,Create,然后可以alter table,然后还可以rename,这个一个表也可以创ET table。还可以,这个drop table对吧,这样一些操作,这一节呢叫数据处理,就是我们昨天也提到了增删改的操作,同时呢,我们再将这个TCL当中的呃,提交数据commit啊,回滚数据go back啊,设置一下save point这个内容给大家说一下,哎,这是我们这一节当中的内容,使用DML语句可以实现像表中插入数据,更新数据和删除数据,同时还控制事物。这是我们这一节的内容。这个DML语句这里又做了一个简单的一个说明,包括这个增删改,实际上查也算是,呃,数据库操纵的语言,也是我们最常用的对数据库进行交互使用的,叫select。
01:11
那么事物呢?说是由完成若干项工作的DML语句所组成的,这个叫事物。后边会讲,大家你先看一下概念就行了,那我们首先来说一下这个插入数据。这个呢,有一个例子是我们叫departments这个表,这个表大概有这么一些行,现在我想往这个表中新插入一个新行,最后五到这个下边,那么新插入的这一行我们怎么来实现使用的,这叫insert语句,就是我们熟识这个熟识的这个叫增删改查的增insert这个语法格式大家需要你掌握。使用这种语法格式只能够向表当中插入一条数据,那么这个格式什么呀?就insert into这个table的名字,然后values就是一个小括号,将你这个这一条数据的每一个列分别是什么值给它插入进来。来,我们给大家演示一下这个的使用,大家你打开这个PL develop,开启一个command window。
02:21
大家看到这边是我们上节给大家讲的时候,新加入的一些表,这儿呢,我们把这些没用的表给他都删除掉。行都删除了以后,我们现在往表中去插入数据,这个时候插数据啊,我不往这个employ这个表中插了,它这个选项太多了,对吧,这个项太多,我新造一个表可以吧,Create table叫EPE,我使用一下基于已有的表as,诶,Select selected employee ID last name,再加上一个her data salary。
03:24
From employ,然后WHERE1等于二,这个能看懂吗?我让这个表示一个空表。行创建好了,创建好以后Di皮,这是这个表的结构,Select from e PE这个表一条数据也没有,现在我往这个表当中去插入一条数据,怎么写来,就是我们刚才看到的insert这单词,当然大家你得掌握啊,Insert into插入这个表呢,叫EPE,然后呢叫values。
04:08
就是你要插入这个值是多少,用一个小括号给它括起来,插入这个表,这个表的结构是不是我们刚才在这看到了有这样四个列,ID name date和salary,那你就按照这个列出来的,就是这个DC的时候看到这个顺序依次给它添加,这个顺序是一定要大家注意的,因为你直接这个顺序直接决定了你填入数据的类型吧。以及它分别对应的是哪一项,所以说这是要注意的,ID1001 name,那是AA date date啊,你得写一个date类型的是吧,这呢,我就先写上一个c date可以吧,CD是一个date型的,SALARY1万。好,OK,这我们就插入了,你可以select星from眼皮,这就是我们刚才插入的这条数据,对吧?当然我们可以通过同样的方式,你往这个表当中再插入几条新的数据,或者说你这个哎,C我不不写C了,那你就写个其他的日期怎么写啊,比如说这个1002。
05:27
BB工资2万,这个是不是我们前面讲的那个叫转换函数啊,转换函数to date型的,呃,那个date型的,那就是to date呗,我可以使用一个差型给它转成date型,比如说1998年的12月21日。我按照这个叫。YYYY按照这种方式是不是就转换成对的形啊?好了,看一下select星from眼皮,OK,没有问题,这是我们讲插入这个表中的一条数据的方式,叫insert into它。
06:19
好了,那我们再来看这个,我们刚才这是不是抄过这个表的时候,你得必须得知道这个事吧,我也知道你这个表里边这几列的顺序,然后呢,我往里边插入,就是按照你这个表的顺序,这个列的顺序依次跟它对应起来,这个是需要大家你格外注意的,第一个对应的是它,第二个这个BB对应的是它。就是对塔。最后呢,是这个salary一定是一一对应的。然后呢,这是一种方式,我们再说一种方式,我射着into这个表,假设这个员工啊,他进来的时候,我不太清楚他的什么呀。
07:07
比如工资吧,比如工资现在还没有定,工资还没有定,我就暂时先给你制成一个空,制成一个空的话,是不是就可以这样来写。空的就是一个闹。那是三。CC这随便改一个九九年的是一个now,那你就这样给它插入进来就可以再拉一下。诶,这这个工资他现在目前就是一个空的,然后一会儿你可以想办法再给他修改一下,修改的时候你可以给他再加上对吧,就是这个意思,然后我们再说一种方式啊,你看这里边我们还是相当于是按照这个默认的这个顺序1234来的,如果说我这个时候是给你显示的写了一个呢,如果我就不想写这个呢,写这三项,那是不是只填充了前三个呀,你这一运行肯定是不对的是吧,因为你没有足够的值,默认的这个是有四列,那怎么办呀,我在这里边显示的指明一下。
08:11
我就往其中的三项里边赋值,哪三项呀,有employee ID last name para data对吧,不管可以这样写,你要说我先给你附name,再附ID,那你就把这里边的这两个给换上去。然后相应的这个位置也需要给它换序。哎,这是对应name,这是对应ID,这是它是对我给它改成DD。是不是也添加成功了呀,没有问题,或者你再说我就想往里边给它附两项,附两项也行,你就把两项的这个值先给它对应起来就可以,然后最后这个效果一定是给你添加到这个数据表当中了。
09:14
这是这个D对吧?好,这是我们要说的这一点,我之所以这里边的像salary不给它赋值,有一个原因是什么呀,大家你看de叫的时候,我们这问你是否可以novel这个salary这是不是显示的一个叫yes呀。就是它是可以为空的。我们这个表因为是怎么着,是不是直接依托于已有的表来的,因为已有的表里边关于这个last name跟higher rate,它是这两个,你看是不是要求不能飞空啊,就是你在insert这个数据的时候,一定要给它附上值,这个我们再讲下一节叫约束的时候会给大家说这个事。当你这里边有些列明确的说不为空的,当你隐塞的时候,一定要给它附上去,如果不附的话就会出错,比如说大家看刚才这个这里边儿呢,我们没有加salary,因为salary是可为空的,但是如果你要是把这个handset也给它干掉了。
10:23
我删掉data,大家你看这个时候我能不能给它添加成功。你看是不是显然不行啊,说无法将这个now值给它插进去,因为是不是有个data,原因就在这higher data这要求必须不能够空。我们下一节讲约束的时候,还会给大家这个专门来说一说这个飞空的一个约束,这个事儿,以及其他的组件,外界还有这个check的约束,还有UN的约束等等,给大家都讲一讲。这是我们隐射的这个方式,也就是说啊,当你往这个表当中去添加数据的时候,你可以不加后边这个具体的列,那你就需要在VALUE6的时候给它每一个列的这个顺序,按照顺序来一个一个值都附上,有些值如果说是空的,你就用now来代替,如果说你只想往其中的具体的某些列赋值的话,那你就指明这些列顺序,你自己来决定,然后按照values指定的这个顺序依次赋值。
11:27
需要注意的就是,你负的这些列的值一定就是剩下的那些列,就是你没有负的那些列,一定是不可以出现这个,这个有非空约束的,要不你这个是过不了的,对吧,对于有非空约束的这样的列是一定要附上值的。这是我们说的insert的insert into插入的一种方式,应该说叫第一种方式。第一种方式我们在这个PPT当中也有,给大家还稍微总结了一下是吧,作为每一列你插入一条数据,相当于为每一列都附了一个新值啊,按照列的这个默认顺序列出各个的值。
12:06
啊,Insert可以随意列出列的名和它们的值,就是我们刚才说的两种方式,这是相当于这个是在说它是吧,嗯。好了,这是我们向表中插入值,插入空值的话,你可以用钠来代替,还有一种插入的方式。这都过了啊。先看这个,从其他表当中拷贝数据。从其他表中拷贝数据,这是我们讲的insert的又一种方式。大家还记不记得我们在上一节中讲这个可table的时候,我们是不是说你可以叫白手起家造一个emp,然后这个这个给它夸夸夸的每一列附上一个列名类的数据类型,以及它的呃,占用的这个存储空间,对吧?然后当时还说了另一种方式叫great table ER,然后叫as elect什么什么,基于现有的一个表,我创建一个表。
13:08
基于现有的表创建一个表,对吧,这是我们创建表的两种方式。我们现在讲这个insert呀,我说也有两种方式跟他有点这个对应哈,第一种方式呢,就是我也也算是白手起家吧,我就一条一条的给你往里边去添加,一条一条的添加,第二种方式呢,我不一条条添加,我嫌太慢,我这里既然已经有一个表了,而且还有一个现成的employees表,我可以基于你现有的表,把那个表里边儿的一些数据导进来。再说一遍,把你已有的这个employees这个表,把它里边表的一些数据给导到我这个新的employ e2这个表当中。这也是一种插入的方式来,我们现在说这个第二种insert into,我们这里还插入到inpe中。
14:05
Em中我这里指定一下吧,比如说我只往里边,嗯,你看这啊,Last nameme跟her data是一定需要你给是不是得得给它赋值的是吧,因为它有非控的限制,那我就这样写吧,Employee ID还date这个salary你可以写也可以不写it into这个,但是这个顺序不是它默认的,我给它改了改是吧,那就得按照我这个顺序往里添加,怎么添加啊,这个不用加这个values了,也没有这个as,就直接select employee ID。Her date lastname salary from employees,就是我将这个employees表里边我选的这样一些列对应的那一些哎,诸多条的数据给它隐塞在into这个表中。
15:10
这个呢是需要一一对应的,大家你注意啊,一一对应的,然后这样我添加的话是把这个表中所有的数据都导进来,我这呢不导那么多,我只加上某一个某一些啊,那你可以加上一个过滤条件,80部门的导进来行。发烧部门有34条数据,所以都插进来了,你这时候可以select星from眼皮,大家看一下。前面这四个是我们自己添加的,一条一条加的,后边这些都是直接导进来。都是直接导进来的,这个时候你就说我把这个人再给他改一改,或者删除不要了,是不是根本不会影响原来的这个employee表吧。因为它是完全复制过来的,这个的修改不会影响原来这个employees的修改,对吧?行,这就是我们讲的insert的两种方式,一种呢是一条一条的往里添加,另一种叫从其他表中拷贝数据格式insert into直接select就完了,不用书写value。
16:21
好,这是我们说的叫哎插入插入插入呢,还有一个这个大家你做一个了解就可以啊,他说叫创建脚本,通过这种方式也可以给他一条一条插入作为一个了解什么什么意思呢?我们这里给大家说一下,你看我这样写啊。嗯。银色的阴土羊皮。Value,嗯,你在这给他指定一下这个具体的这些列也行,嗯,有这个employee ID。嗯,Last nameme salary,然后values,这怎么写啊,第一个employee ID employee ID是一个。
17:13
Number类型的是吧,我就直接这样,加上一个这个这个符号,你可以叫语符号也行,然后呢,我就写上一个叫ID,然后last nameme是what char类型的,Work叉类型字符串是用单引号括起来,加上一个语符号叫name。嗯,分别的salary number的,嗯,Her date date是一个date型的是吧,Date型的date型的,你给它这里加上一个单引号也行。Her date这样写对吧,Her date。
18:00
来相当于是啥意思啊,就是我把每一个这个数据类型里边都加了一个语符号,然后你看我运行一下,它出来了一个这个框,需要这种形式来给大家往里添加值,Enter value for idd呢,就是我们刚才下边那个values里边写的那个ID放在这了,嗯,1005。嗯。Value for name,起个名改FF了。Salary工资3400。最后加her date,这个呢,大家你注意啊,这个我要写CD的时候不行的呀,因为CD我刚才那个hair it那加了一对单引号,所以不能这样写了,那你必须得给一个值,这呢我们就用那个当时比较传统的这种方式哈去。杠1995。
19:05
行,这这不用管了啊,我们已经插入成功了。然后你select星,From d p。大家看这是不是最后插入的,刚才那个又又给插入了一条哈,这个这个没事,这就相当于我给他保存进去了,那有同学说你这两条记录是长得一样啊,真正你这个员工表里边不可能是不是有两个完全一样的这个数据啊,哎,这个我们下一节讲约束的时候会给大家提怎么避免它这里边会有重复的这些数据。好吧。嗯,这个呢,就是我们讲的insert,大家你后边这个脚本这个你就了解一下就完了。再者我们说这个叫更新增删改,现在说这个改改啥意思呢?比如说这是这个我们讲的employ表里边儿呢,有几个员工,一开始呢,是60号部门的,后来啊,调部门了,变成30号部门的,那你不能说我这个表不要了,重新造一张是吧,那个成本太高了,我只需要把你需要改的这几条数据给它修改一下就可以了。
20:16
把这个60的都给你改成30,那么修改怎么来改,使用的这个语法叫update update翻译过来是不是就修改啊更新或者叫对吧,Update这个表,然后set什么,这个就是你具体要改成什么了。然后有必要的话,你就加上一个Y语句,如果你不加Y语句,就把你这个表里边的所有的都给改了。所有的都给改了,这意思哈。来我们看一下上边呢,这是不是我们的em ep1这个表啊,这个表里边我们看一下假设就比如它吧,我把这个数据给它改一改。改一改怎么改,嗯。
21:02
这俩这俩都这俩都一样了是吧,都一样改起来,那那你一操作这俩就都改了,那就先不改它了,先改这个吧。这个人把他的工资这是1万给他改成12000。涨涨工资相当于是吧,那我们就用这个叫update update。嗯,Set叫update跟set是一对的啊,Set什么呀?Set这个salary你不是要改工资吗?等于12000。这个你要是现在一运行坏了事的,所有都给改了,所以你得整一个是不是where啊,Where通过什么条件,你得把这条数据给它选上,你既可以说使用这个lastname叫这个名字,也可以就用这个EMPLOYD179。改了改了,这时候你看大家我们再重新运行,你看一下这个呃,叫约克逊是吧,呃,张嫂发的这个工资是不是变成一万二了。
22:13
你看是吧,相当于我们给他修改成功了。好,这是这个啊,然后呢,我们现在这个时候,我先做一个这个操作啊叫commit,大家呢,你结合着后边我们讲的这个这个这个叫提交,你稍微理解一下,这个时候我写上一个。那就相当于这个就给提交了,有点类似于什么呀,大家你在这个word里边,或者这个TX里边,你写文章写好以后,我是不是都会得最后给剪一个这个保存呢,我一点保存它是不是相应的就给我写到硬盘里来,那这个就有点像我们这个commit就提交了,现在这个更改就被写死了,写进去了。好,写进去以后啊,我们现在做一个这个事,你看update date e set,我说改一下工资等于比如22000,我没有加倍,大家你看一下。
23:13
是不是40条都给改了,你这总共就40条记录这改了四条,是不是所有的都改了。所以说大家要注意哈,诶这个update更新操作的话,如果你没有这个过滤条件,就相当于默认所有的都改,一般的话我们不会说出现都改的情况,所以说大家这个where语句哈,必要的还是得加上,这时候你看一下。全程两万二了是吧,全程两万二那个我操作错了,我能不能改回去啊,这个时候我使用一下叫u by回滚,就是你刚才那个更更改我不想要了,就有点像我们这里的这个叫安度是吧,回退要撤销。
24:00
撤销完了以后,我们再给他查询一下,是不是就回去了呀。那这个一万二是不是就回不去了呀,因为我们在这个操作完以后做了一个commit,相当于已经给写死了,所以这个数不能再回归成1万了。哎,这是我们讲的这个叫up。Update更新啊说如果省略V2的话,表中所有数据都将被更新。这里有个题目,来,我们做一做。这个呢,都是在更新员工表是吧?嗯,那我们这样吧,我们为了部队原来那个表进行过多的修改,我们造一张表,嗯,跟employees这个表一样的,就相当于对employee表的一个复制,大家回忆一下怎么写啊,Create table employees。
25:06
EMPLOYEES1吧,As select from employees,对原表的一个复制。OK,复制好以后你select的查看一下。没有问题,没有问题,我们现在往里边插入的时候啊,往这个employees employees1这个表里边去给你插入,看题目更新114号员工的工作和工资,使他与205号员工的相同。114号。我们先查询一下114跟205,你看他们俩的这个工作和工资是不是一样,然后我们更改以后,我们再来看希拉克的工作job ID,工资salary from employees1 where employee ID等于幺幺,哎,这样吧,In 114 205。
26:19
大家看这是这两个人,上边这个是114哈,下边这个205,他俩的照顾ID跟salary都不一样,现在我来修改114的。修改114的update吧,EMPLOYEES1SET。更新他的工作,那就是set这个job ID等于是不是一个东西啊。哎,然后呢,工资那就是salary等于一个东西吧。这是不是用到我们前面讲的子查询的呀,然后在这个子查询里边有未知条件,这个填入的应该是他的是不是工作,然后这填入是他的工资,哎,那你就是select job ID from employ,意思1WHERE employ ID等于205,就是205这个人的照白ID,然后。
27:26
And salary。Salary select salary farm,不好意思,喂,205这个人的salary。
28:06
SS,它等于它,它等于它,Where这个这个你调1ID得等于114,这个是一定不能忘的,遗忘的话坏事了,Update这块嗯,格外需要大家注意啊,现在是更新了一条,然后呢,我们再来查询一下,刚才呢,我们是不是做了一个这个查询啊,看他俩这个薪资待遇前面你再加上一个in employ ID,看看他俩现在的一个工作和待遇是不是一样了,你看都变了是吧,都变了是把它的更新成他的了。这是这个,Update下一个。
29:05
这个题目有点长,我们分析一下,调整与employee ID为200的员工的照白ID相同的员工的这个为这个里边的这个也确实有点绕这个,所以说这个题目特别长啊,搞得还得跟这个这个分析语文一样是吧?调整调整得得得得员工是不是调整员工啊,调整员工的department ID为这个的departmentd相当于是不是调整update了,哎,这个。员工的他那就是sat是不是这个变成这个,那这是什么呀。这是不是相当于是那个。Where吧,就是你改谁改谁啊,就改跟他一样的这个招白地的那些员工是吧?哎,这个捋清楚以后我们就能写了,Up date employees1。
30:09
Update他然后呢,叫set吧,Set什么什么,然后where怎么怎么着,显然说调整这个里边的员工的这个东西为这个的这个,那就是sat应该写这个内容是吧,哎,Set什么。员工的department ID等于某一个东西等于什么呀?等于employd为100的员工的department,那你就找到这个人的是不是他的部门啊,那你就是。Light department ID employee,思一,Where。这得往回拉一下。
31:05
100号员工的底盘D在得它,然后呢,Where调整跟这个人为200的照白D一样的员工,那就是找到这个where,这个照博ID等于某个动西吧。哎,谁跟这个200号员工的工作一样,把他们都给改了select的job from yeah in employ1where。嗯,Employe ID等于二百二百号员工的跟他一样的招牌ID的这些人,把他们的department改成跟他一样的这个部门。这个有点绕,这这就改了,就一个人是吧,就一个人行,这是我们讲的这个update。
32:08
大家注意,你看这里边儿有一个关于更新操作的一个错误。更新操作一个错误,说更新中的数据完整性错误,举了一个例子,大家看一下,Update employees set department ID等于55 where department ID等于100,这是什么意思啊?是不是说我把这个,嗯,110号部门啊,110号部门给他改成55号部门啊。Update。110号部门改成50个包,来我们看一下哈,相当于这个员工表里边有一些人啊,他在110号部门,现在给他们都调成55号部门。
33:02
哎,我们直接运行成了,他说违反完整约束条件,有一个这个东西,这是这是什么,这就是我们下一节要讲的叫约束,这是约束的一个名字,说在这里边未找到负向的关键字,这个怎么理解呀?是这样的啊,我们这个表跟这个department这个表,他说负向,负向值就是department这个表,这两个表里边通过这个department ID是不是连接起来了呀。连接起来以后,我们说你这个department ID这里,你这个表里边用到的这些数据,在department表里边都应该有,比如说你看一下direct from departments,你看这个表一定是有112部门的。也就是说一开始有些员工是在这个叫会计这样一个部门,然后你把他们都改成55号部门,55号部门你看这是不是根本没有活动。
34:02
因为他没有,所以说你改过来的时候根本就不行,要违反了这里边儿的这样一个条件,相当于啥,你要这随意的改,结果呢,到55号部门了,然后呢,诶老板来说,诶我看50号部门是干什么的,结果一来这个表发现根本都没有。所以说他这个没有,不是因为你这少,是因为你当时添加的时候,修改的时候就是错的。嗯,比如我不改55号部门,你改成这个多少,50改成50你看行不行。你看这是不是一定没问题啊,哎,它是可以修改的啊,同样的道理,我们在这个employees表里边,大家你看一下这个表里边有一个是不是many ID有一个employd啊,我们在自连接的时候说了,这个many ID本质上讲也是一个employd,所以说它这有一个自连接的一个条件。自定义条件,然后呢,你看我假设,呃,假设做这个事,你看叫update employees这个表,把这个many ID,把这个员工的many ID给他改了,你看看啊。
35:17
Employees manager等于一半,Where employ ID等于。嗯,201吧,这个人应该是有的。201把这个人的manage ID改成1万,说违反完整性约束条件,这个意思跟我们上面这个是一个意思,上面这个说你在你要更新的话,你要更新的这个值在这个表里边儿找不到,所以不让更新,这个是同样道理,我这里把201的这个manager ID改成1万,这个1万本身来讲也是一个employ。
36:05
但是employd里边没有1万这个值,所以就不让改。那怎么就能改了,你是不是得给它改成一个有的这样的值才行啊,比如说改成103 103,它本身也是一个employed employed有103,所以可以改就改了啊,大家如果你这清楚的话最好,如果不清楚的话,我们下节讲这个约束的时候还会提到。提到这个表跟表之间的一种关系啊,行,我们这个就这样过了,下一个这个叫删除数据,删除数据这个不大是吧,我从这个表当中把一条数据给它删除掉,我们使用的这个语法叫delete from,同样的啊,你要是删除部分数据加个班,如果不加过滤条件的话,那就全删了。就全删了,你看加个外删除指定的省略外表中的数据全部被删除。
37:06
然后被删除,我们后边这有练习练习,那我们就直接看这个练习吧。CTRLC。从em PE这个表当中删除呃,这个部门中的含有这个字符的ID。删除这个部分中名称为他字符的这个部门ID。这个能不能看出来他是这个意思啊,我从这个表当中,我删除一些数据,删除一些数据,这个数据是什么呀,你看看这个有谁的部门叫谈这个叫public的,把这些人都给他删除掉。删除掉删除掉,我们这里从这个表中吧,EMPLOYEES1,这是对原来这个employees表的完全的一个复制啊,这个呢,你就看成是department表也行,这个这个不重要,反正就是删除是名称含这个的。
38:12
哎,这个部门ID啊。行,嗯,那就是delete这里注意啊,要有个from employees1,然后呢,你要不加where就全删了,Where这个呢,是这个public是是name是name,我得根据这个name找到你这个ID吧,因为employees这个表里边是只有department ID是吧,所以这叫where department ID等于某一个东西等于多少啊,你得根据那个表。那个表我们就暂时看到叫department那个表啊。
39:02
Where department name like,还有这个public,把它给干掉,找到含有这个名字的ID,然后把这个ID这些人给他删掉。这是不是加了一个忘加百分号了。一个有一个人,这个人给他删掉了,这是我们就叫这个删除,你熟悉的叫delete from。在删除这块也有一个完整性错误,这个你看啊,什么意思?呃,我从这个department这个表里边,把这个底department mid为60的给它删掉,这个说也不让删这个不让删这个也有点恶心,啥意思啊,我这里就光说一下啊。
40:07
你真正去演示的时候,肯定当你试图是删它是有问题的,CTRLC运行一下你看是吧,那么为什么这个不让删。我这个表里边儿的depend id60是不是跟你这个employees表里边是挂钩的,那意味着employees表中一定有一些员工就是在60号部门。因为他有62部门的人,当你这把62部门删掉的时候,程序不知道employee表中62部门的人怎么处理,因为在那找到了,是不是此记录啊。他正因为找到了子记录,所以说就不让你删了。是这个原因,那不上山我们这样看一下,给大家改听奇葩的闷子。这是不是我们这些部门62部门这叫it,那说明这个部门有人还不让你删,那这个部门有没有人呢。
41:02
我们看一下select from employees where,你、他他们的ID等于210。这是不是没有人有这个部门是没有人的,那我没有人的这个部门你让不让我删呀,来我们删一下。就delete from departments where,它等于270。按说是不是就可以删了呀,确实删了,因为这个部门没有人,没事,60号部门有人就不让删。这个也比较好理解啊,这呢就是我们要讲的这个增删改这几个,这几个这个方式啊,大家你这个稍微捋一下,我们增的时候在这里写一下。添加我们用的叫insert into,这加上这个表明,嗯,然后叫value,这个相应里边对应的那个列给它一一附上去,这是一种方式是吧,然后还讲了一个叫insert into,还是这个表明直接select,基于已经有的这个表,Select什么from那个表,适当的你要加上这个外条件也行。
42:28
对吧,这是我们讲的这个增,然后呢,改增或者叫添,或者叫插入,改用的叫update update直接哪个表set什么什么,然后where加上一个条件,不加的话就全给改了,山山用的叫delete from,那个表一般也会加上一个Y,如果不加就全删了。
43:01
对,全山,来,我们看看这个怎么叫全山,Delete from d。一。没有加Y,那是不是40条记录全删了,当你这个时候查看一下刚才我们创建的那个EPE的话,一条数据没有是吧,这个删除是把数据全删了,但是这个delete呀,我们说是DML的,它不会自动的提交,当你这个时候进行一个操作叫roll back的时候,你再进行一个查询,它就全有了。是吧,它就全有了,跟我们昨上一节讲的这个叫frontet frontnket table e,这个叫清空,这个清空以后你再roll back,再查询,它还是没有。是吧,因为他这个清空操作呀,是一个不可回滚的。而这个delete from这个操作是可以回滚的。
44:08
在,在。在这在这写的是吧。40条记录都给你删了,这是不可,那这是可以回滚的,Delete from可以回滚,窗不可以回滚,这个大家要注意,然后关于这个commit roll back,我们等一下再给大家,嗯,细说一下。
我来说两句