您好,登錄后才能下訂單哦!
這篇文章主要介紹了mysql需不需要commit的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇mysql需不需要commit文章都會有所收獲,下面我們一起來看看吧。
在mysql中,是否需要commit取決于存儲引擎:1、若是不支持事務的存儲引擎,如myisam,則不需要使用commit;2、若是支持事務的存儲引擎,如innodb,則需要知道事務是否自動提交,因此需要使用commit。
本教程操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
mysql在進行增刪改操作的時候需不需要commit,這得看你的存儲引擎。
如果是不支持事務的引擎,如myisam,則是否commit都沒有效的。
如果是支持事務的引擎,如innodb,則需要知道事物是否支持自動提交事務(即commit)
看自己的數據庫是否是自動commit,可以使用
mysql> show variables like '%autocommit%';
來進行查看,如果是OFF即不自動commit,需要手動commit操作(命令行可以直接“commit;“命令),否則是自動commit。
擴展知識:
提交數據有三種類型:顯式提交、隱式提交及自動提交。
下面分 別說明這三種類型。
顯式提交
用 COMMIT 命令直接完成的提交為顯式提交。
隱式提交
用 SQL 命令間接完成的提交為隱式提交。這些命令是:
ALTER , AUDIT , COMMENT , CONNECT , CREATE , DISCONNECT , DROP , EXIT , GRANT , NOAUDIT , QUIT, REVOKE , RENAME 。
自動提交
若把 AUTOCOMMIT 設置為 ON ,則在插入、修改、刪除語句執行后,
系統將自動進行提交,這就是自動提交。其格式為: SQL>SET AUTOCOMMIT ON ;
COMMIT / ROLLBACK這兩個命令用的時候要小心。 COMMIT / ROLLBACK 都是用在執行 DML語句(INSERT / DELETE / UPDATE / SELECT )之后的。DML 語句,執行完之后,處理的數據,都會放在回滾段中(除了 SELECT 語句),等待用戶進行提交(COMMIT)或者回滾 (ROLLBACK),當用戶執行 COMMIT / ROLLBACK后,放在回滾段中的數據就會被刪除。
(SELECT 語句執行后,數據都存在共享池。提供給其他人查詢相同的數據時,直接在共享池中提取,不用再去數據庫中提取,提高了數據查詢的速度。)
所有的 DML 語句都是要顯式提交的,也就是說要在執行完DML語句之后,執行 COMMIT 。而其他的諸如 DDL 語句的,都是隱式提交的。也就是說,在運行那些非 DML 語句后,數據庫已經進行了隱式提交,例如 CREATE TABLE,在運行腳本后,表已經建好了,并不在需要你再進行顯式提交。
關于“mysql需不需要commit”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“mysql需不需要commit”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。