数据库哪些操作需要用到事务(就是说那些语句需要执行commit才会生效)?

是不是数据库,或者说oracle 除了 insert update delete 这几个语句之外,其他的操作写不写commit都没什么所谓

先吐槽:基本操作除了 insert update delete 就只剩下 select 了,你这个“除了”的范围够大的!
启动了事务(BEGIN TRAN)才需要 COMMIT/ROLLBACK,没 BEGIN 写什么 COMMIT。
至于需不需要事务看多条/多表的数据是不是一个原子。假如只增删改一条记录,本身已经是原子了,不需要事务。

可以这么理解吧,除了增删改(三者都是对数据的修改),必须保证数据的一致性、正确性;
剩下的查询,没必要提交了。

常见的操作除了dml就是ddl对表结构进行操作,ddl都不需要commit,dml对表数据操作除了select语句差不多都要提交
还有drop/truncate都是DDL语句,执行后会自动提交。

有一些是隐式提交的,回滚也没用,比如创一个新的table,其他的只要涉及对数据的增删改都要提交或者回滚吧,不然会造成死锁,在你开启事物的前提下

mysql单个update是不要开启关闭事务的,我开启事务后update不知道为啥不能执行