首页 新闻 会员 周边 捐助

数据库的事务和数据库语言sql之间是一种什么关系?为什么有人说DQL 没事务,而DML有事务?

0
悬赏园豆:5 [待解决问题]

关于数据库事务,总有一些疑问,今天终于找到问题的源头了。总听到有人说DQL没有事务,DML有事务,为什么会有人这么说呢?是因为,这个行业内才懂得简约表达吗,还是其他的原因,麻烦有想法的解答一下。谢谢了。。

王的女人的主页 王的女人 | 初学一级 | 园豆:102
提问于:2018-09-21 09:59
< >
分享
所有回答(2)
0

DQL:Data QueryLanguage DMLData Manipulation Language,前者是查询,后者是增删改,而数据库的事物就是在数据发生了改变才有的,就是保证数据的一致,额。。。。。。。。。表述不清楚,就像银行转账,这个例子最好理解,~.~

猪喂了吗 | 园豆:185 (初学一级) | 2018-09-21 13:26

那事务在什么时候开启,什么时候关闭呢?还有就是什么样的操作算是一个事务呢,也就是是说怎么区分,这个操作是属于A事务,还是B事务呢?举个例子,就是同时执行多条update语句,这些update语句应该是属于同一个事务吗?

支持(0) 反对(0) 王的女人 | 园豆:102 (初学一级) | 2018-09-21 14:08

或者说,是一个sql对应一个事务吗?

支持(0) 反对(0) 王的女人 | 园豆:102 (初学一级) | 2018-09-21 14:15

@王的女人: 那不能这么说啊 ,你再添加一条数据的时候,你就需要commit一下,这个commit就是把这个事物提交了,然后这个数据就进了数据库。那银行转账的例子讲呢,就是从你卡里面给钱别人,别人卡里钱会增加,这一个增加一个减少肯定是控制在一个事物里面的对吧,不然钱不是莫名其妙的少了或者多了?

支持(0) 反对(0) 猪喂了吗 | 园豆:185 (初学一级) | 2018-09-21 14:31

@王的女人: 你是搞那块的呢?

支持(0) 反对(0) 猪喂了吗 | 园豆:185 (初学一级) | 2018-09-21 14:31

@猪喂了吗: 也就是说,当=事务开启的时候,在没有commit之前,所有的数据库操作都属于同一个事务?可以这样理解吗

支持(0) 反对(0) 王的女人 | 园豆:102 (初学一级) | 2018-09-21 14:33

@猪喂了吗: java web服务器端开发的~ 初入行业,还有很多不懂。来学习学习。。

支持(0) 反对(0) 王的女人 | 园豆:102 (初学一级) | 2018-09-21 14:34

@王的女人: 那这个问题就好回答了嘛,事物控制一般控制在service层,控制在方法级别,你一个方法里面的关于数据的增删改操作,要么全部成功,要么全部失败。写多了写着写着就明白了,去年这个时候我对这个问题也很懵逼~、~

支持(0) 反对(0) 猪喂了吗 | 园豆:185 (初学一级) | 2018-09-21 14:46

@王的女人: 其实你没必要纠结这么多,后面自然而然的懂了

支持(0) 反对(0) 猪喂了吗 | 园豆:185 (初学一级) | 2018-09-21 14:47

@猪喂了吗: 那我又出现了一个新的问题,你说的这个事务是spring的事务吗?和数据库的事务一样的吗?我被网上很多文章,搞蒙了

支持(0) 反对(0) 王的女人 | 园豆:102 (初学一级) | 2018-09-21 14:48

@王的女人: 事物就是数据库的,spring控制事物就是控制的数据库的事物...,你要这么想,你项目用操作东西一般不都是来操作数据库的么,Spring就是帮你在做了一堆增删改后帮你把数据库里面的事物提交了下or回滚了下。

支持(0) 反对(0) 猪喂了吗 | 园豆:185 (初学一级) | 2018-09-21 14:55

@猪喂了吗:是这个理儿~~~ 虽然没全懂,但是大概思路有了,谢了哈

支持(0) 反对(0) 王的女人 | 园豆:102 (初学一级) | 2018-09-21 14:58

@王的女人: 写着写着你就懂了,事物这儿概念太抽象,还是要靠实践取理解,看概念的确不太好懂

支持(0) 反对(0) 猪喂了吗 | 园豆:185 (初学一级) | 2018-09-21 15:01
0

可以了解下SQL99标准

SQL92/【99】标准的四大分类 : 

DML(数据操纵语言):select,insert,update,delete

DDL(数据定义语言):create table,alter table,drop table,truncate table ......

DCL(数据控制语言):grant 权限 to scott,revoke 权限 from scott......

TCL(事务控制语言):commit,rollback,rollback to savepoint......

晨之风 | 园豆:373 (菜鸟二级) | 2018-09-21 14:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册