今天看到数据库中有commit和rollback字段,收集了一些资料和信息,结果如下:
commit 就是确定提交的意思,比如你用test账户登录数据库insert到表中一条记录,而不commit,那么别的账户在登录这个数据库时就查询不到你insert 的记录;而commit后则其他账户就能查询到你insert的记录了。
rollback就是回滚的意思,比如你用test账户登录数据库delete表中一条记录,这时你查询这个表时,则delete的记录不存在;再rollback后,你再查询你delete的记录时,发现被删除的记录又回来了。
COMMIT 是提交你的DML操作.ROLLBACK 是取消你的DML操作.
DML操作主要指一些插数据\更新数据的操作,你的操作在没有COMMIT和ROLLBACK前,都还在本机的SESSION中,可以理解中还没有更新至数据库。
1、首先commit和rollback是在进行insert、update、delete语句完成后需要做的操作(即对表中
的记录进行修改),而select则不需要。
为了防止你的操作有误,执行完以上三种语句后,数据库没有直接把结果保存,如果确认无误
则可以commit(提交),如果有误(或反悔)可以rollback(回滚)
2、在pl/sql developement 工具中如果你有insert、update、delete操作,会在工具栏上有提交、回滚的图标,亮色显示。
什么时候使用commit和rollback?
SQL语言分为五大类:
DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。
DQL(数据查询语言) - Select 查询语句不存在提交问题。
DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。
DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。
DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。