00:11
增、删、改、合并语句。然后回过头来,我们再来看事物。一组相关的数据的改变的逻辑集合,把一组对数据的操作捆绑成一个整体。在一个事物中,数据保持一致,要么全程,要么全部不成。or的事物由下列语句组成,也就是说什么语句会影响到事物?肯定说DML语句影响食物,它们会引起事物,那同样DDDC也会影响到食物。除了说有DML影响事物之外,DDLDCL也会影响事物,还记着DDL吗?
01:08
Table。开始于第一个执行的DM语句,结束于卡密事物的开始点。比较简单。事物开始于第一个。DL。结束点,这就比较多了。事物的结束点,结束的方式有手动结束,自动结束,那手动结束这又有。
02:11
手动提交,手动回滚。手动提交,看走白了。这是我们自己用手动结束事物的方式,手动提交,手动回滚,那自动结束的时候又分成自动提交,自动回滚。分成这么几点。DD或DC,你在一个事物中,如果执行了DD。
03:04
或者是DC,数据库控制一句,这时候这个事物会被自动提交。然后如果说你的系统崩溃,或者说我现在是通过网络连的其他人的服务器网线被拔了。网络客户端到服务器之间的网络被中断,这时候会自动进行隐示的。回管。我们来测试一下它的自动提交。现在这里头没有事物。我们在这儿哈。Delete from where。
04:04
两瓶,那么大于等于发现。做table d PP啊D,这也是一个DDL问题。引发了一个事故。现在我们去查询我当前用户中可以看到被删除的数据。再起一个客户端。PP。From dp。
05:01
其他用户还没有看到被修改的数据呢,现在我没有去卡,我也没有。我执行了一个DDL,看那个事物,那俩灯。Dept BA。这刚才报了一个错误,我们重新把这个过程重新执行一下,现在先看这哈,甭管你事务执行成功不成功。那两条数就没了。再把这过程重新再现一下。这怎么在这呢?
06:20
走提交。现在去。查询有8001和8000。其他用户这查也是没问题的。删掉的两条数据。
07:04
有没有这个表?有。做table。Dpd BA,现在我的15没结束呢。看好了,我执行了DDL走。事物这俩灯灭了,那我们看这边儿数据的状态。没了,说明这边是以什么方式结束的事物。是以提交方式来结束的事物吧,也就是说你在事物中执行了DDL,事物会被自动的提交,也就是我们说的自动提交。当然这种方式好不好呢?我有可能是说我刚才那两条语句,我不想删,我想回滚,但是只要你执行了DDL这个事物就默认的自动提交了,它是不可控的,所以说最好我们不要用这种隐式提交实物。
08:19
是尽量去使用commit来显示、控制事物的提交。尽量不要用隐式提交实物。Commit roll back事物用于commit roll back还有一个辅助的point,在事物中保存一个标记点,一会用到commit back来解决事物有好处,保持数据的一致性。通过修改的数据在没有提交之前,其他用户是看不到的。数据永久生效之前,我可以通过回滚来返回以前的状态,将一组相关的操作捆绑在一起,一个事物中的对数据的改变,要么全程,要么全都不成,因为我们是一个整体,自动提交的时候,执行一个DD,执行一个DC啊,或者说执行一个。
09:13
正常退出。从circle plus里头正常退出,它也会给你自动提交从circlel里强行退出,连接中断系统失败的时候,会自动进行隐视回滚。事务开始之后执行了一系列的DL操作,事务结束之前修改的数据可以恢复,可以回滚。当前用户可以看到操作,其他用户无法看到被操作的数据被锁住,其他用户不能修改这些数据。提交后永久的保存在数据库里,以前的状态永久流失,所有的用户可以看到结果记录所被释放,其他用户可以看到这些。刚才课件中我们都体现过,回滚后物回滚宇宙back来结束语句,所做的事物中所做的修改被统统放弃。
10:07
修改被回滚,回滚到数据事务开始之前的状态,数据锁可以放开。还有一个,在事物中,我可以创建一个标记点。胖。在事物中使用标记点。现在我们先去查询DPD的状态。用了一个for update把锁打开。
11:00
删掉。放火。1000。引发了一个事故。现在数据库中是。一时、二时、三时、四时、五时五条记录我把这一点的状态。记录为标记点A。然后我把四十五十删掉了,提交了。明明说想执行吗?
12:08
回退到刚才那个状态。引发了一个事物记录为标记点A。然后我把。45时删掉。现在看。45是删掉我把这一点的状态。记录为。B点。注意B点的状态,数据库中是B。边的状态,十十二十三十三这三条记录,然后我又把20,把十这个部门改成人事部走。回滚到BC。
13:03
So back to,壁。B点的状态是三条记录那个十那个部门还是原来那个老部门吧,回滚到B,在B点。提交。那去查看数据库中的状态。B点是三条,记住老部门。在某个标记点去解除事物。标记点只在事物之中有效,现在我这个事物已经结束了,我再说想回滚到A点去。从未创建过标题A啊。事物开事物结束物之后所有的交际点通通是小事物结束之后所有的标记点。
14:04
通通实现。标记点。然后事物给他一个总结,提交后永久的保存,回滚后永久放弃。事物的四个特性,Acid。这个在面试的时候是经常出现的。acid原子性,从我们以前的理论来说,一个物质,一个质是由分子组成的,分子是由原子组成的,按照我们以前学习的时候,不说现在的理论,以前就是说原子是最小单位,一个物体分成分子,分成原子,原子是不能再分的了。那我们在这儿用原子性就是说什么呢?一个事物它是一个整体,这几个操作是密不可分的,你别说这几个操作成了后几个操作不行,行不行不行,他们是一个整体。
15:02
一致性,事物提交或者是成功之后,甭管你是提交或者是回滚,他们的状态都是一致的。隔离。多个事物同时执行,他们互不干扰。比如说我在这儿哈。音色,Into。我插进了一个50提交了。我又插进一个60。我。回滚。那我想把50那条记录也回滚回去。行不行?你那个事物和我这个事物没关系。每个事物彼此互不干扰。
16:00
事物之间具有隔离性,只要你一个事物,两个事物,我这边引起的事物只有我能控制,你那边引起的事物只有你能控制。事物之间具有隔离性。永久性。事物提交之后,对于数据库的修改被永久的保存A。ACD。事物控制语句。竖着互对象。数据库中有一系列的对象。表、约束、视图、索引、同义词,这些都是数据库的对象。我们一开始说一个用户。
17:10
Cot。这个用户下有一系列的数据库,对象有表。约束、视图、索引、同义词,这些都是对象,跟表一样,他们也是数据库对象。那表用来存储数据的,以行格列形式存在。我们用的主键约束外,我们用的主键外键实际上就是约束的一种,对数据起一个校验型的作用。视图。我们也用过了。我们出现在from后面那个子查询还记得吗?上,我们讲子查询的时候有几种不同的情况。子查询出现在。Where里面干嘛使的?
18:00
当做查询条件来使了此查询出现在from后面呢?提供数据源的作用,提供数据源的那个from,提供数据源后面那个from,后面那个子查询实际上就是一个视图。一个虚表,然后索引,索引的话,数据库里头没用过,但是大家现实生活中都用过一本all这个开发讲解,你要想找数据库对象,如果没有前头那个目录,你得一篇篇翻吧,前头有一个目录啊。给你点着DL,对数据库对象点点点点点98页,你是不是直接就翻到98页了,这就是一个索引,加快数据的查询速度,就是我们梳理的一个目录同义词,给对象起个别名。命名规则必须以字母开头,可以包括数字、字母下和三个特殊的字符。不能使用or的保留字。
19:02
同一个用户价的对象不能重名,即使类型不同。我有一个表叫emp,我说我有一个视图也叫EP,不行。创建表必须有足够的权限,然后有足够的存储空间,你的硬盘得足够大。Create table字段,然后字段类型我们可以给它加缺省值。字符型的,数值型的,日期型的啦。这也是一个大字符串,最大可以达到两个GB,然后CB。也是字符型的,最大可以达到4GB。你可以把一部不带插图的重文本的小说。插到数据库里头。你可以把一部电影。插到数据库里头。那我们去使用建表语句。
20:05
对象。
我来说两句