82张图带你了解MySQL的 高级内容(二)

开课吧开课吧锤锤2021-03-03 14:25

    Java编程语言是一种简单、面向对象、分布式、解释型、健壮安全、与系统无关、可移植、高性能、多线程和动态的语言。如今Java已经广泛应用于各个领域的编程开发。

Java

    事务控制

    事务(Transaction)是访问和更新数据库的基本执行单元,一个事务中可能会包含多个SQL语句,事务中的这些SQL语句要么都执行,要么都不执行,而MySQL它是一个关系型数据库,它自然也是支持事务的。事务同时也是区分关系型数据库和非关系型数据库的一个重要的方面。

    在MySQL事务中,主要涉及的语法包含SETAUTOCOMMIT、STARTTRANSACTION、COMMITROLLBACK等。

    自动提交

    在MySQL中,事务默认是自动提交(Autocommit)的,如下所示

    showvariableslike'autocommit';

Java

    在自动提交的模式下,每个SQL语句都会当作一个事务执行提交操作,例如我们上面使用的更新语句

    updatecxuan005setinfo='cxuan'whereid=111;

    如果想要关闭数据库的自动提交应该怎么做呢?

    其实,MySQL是可以关闭自动提交的,你可以执行

    setautocommit=0;

Java

    然后我们再看一下自动提交是否关闭了,再次执行一下showvariableslike'autocommit'语句

Java

    可以看到,自动提交已经关闭了,再次执行

    setautocommit=1;

    会再次开启自动提交。

    这里注意一下特殊操作。

    在MySQL中,存在一些特殊的命令,如果在事务中执行了这些命令,会马上强制执行commit提交事务;比如DDL语句(createtable/droptable/alter/table)、locktables语句等等。

    不过,常用的select、insert、update和delete命令,都不会强制提交事务。

    以上内容由开课吧老师程序员cxuan提供,更多Java教程尽在开课吧广场Java教程频道。

有用
分享