91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLite事務的屬性有哪些

發布時間:2022-02-16 10:09:43 來源:億速云 閱讀:154 作者:iii 欄目:開發技術

這篇文章主要講解了“SQLite事務的屬性有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SQLite事務的屬性有哪些”吧!

說到事務一定會提到ACID,所謂事務的原子性,一致性,隔離性和持久性。對于一個數據庫而言,通常通過并發控制和故障恢復手段來保證事務在正常和異常情況下的ACID特性。sqlite也不例外,雖然簡單,依然有自己的并發控制和故障恢復機制。

SQLite事務的屬性有哪些

事務的屬性

  • 1.事務(Transaction)具有以下四個標準屬性,通常根據首字母縮寫為 ACID:
  • 2.原子性(Atomicity):確保工作單位內的所有操作都成功完成,否則,事務會在出現故障時終止,之前的操作也會回滾到以前的狀態。
  • 3.一致性(Consistency):確保數據庫在成功提交的事務上正確地改變狀態。
  • 4.隔離性(Isolation):使事務操作相互獨立和透明。
  • 5.持久性(Durability):確保已提交事務的結果或效果在系統發生故障的情況下仍然存在。

事務控制

使用下面的命令來控制事務:

  • 1.BEGIN TRANSACTION:開始事務處理。
  • 2.COMMIT:保存更改,或者可以使用 END TRANSACTION 命令。
  • 3.ROLLBACK:回滾所做的更改。

事務控制命令只與 DML 命令 INSERT、UPDATE 和 DELETE 一起使用。他們不能在創建表或刪除表時使用,因為這些操作在數據庫中是自動提交的。

BEGIN TRANSACTION 命令

事務(Transaction)可以使用 BEGIN TRANSACTION 命令或簡單的 BEGIN 命令來啟動。此類事務通常會持續執行下去,直到遇到下一個 COMMIT 或 ROLLBACK 命令。不過在數據庫關閉或發生錯誤時,事務處理也會回滾。以下是啟動一個事務的簡單語法:

BEGIN;
or
BEGIN TRANSACTION;

COMMIT 命令

COMMIT 命令是用于把事務調用的更改保存到數據庫中的事務命令。 COMMIT 命令把自上次 COMMIT 或 ROLLBACK 命令以來的所有事務保存到數據庫。 COMMIT 命令的語法如下:

COMMIT;
or
END TRANSACTION;

ROLLBACK 命令

ROLLBACK 命令是用于撤消尚未保存到數據庫的事務的事務命令。

ROLLBACK 命令只能用于撤銷自上次發出 COMMIT 或 ROLLBACK 命令以來的事務。

ROLLBACK 命令的語法如下:

ROLLBACK;

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

現在,讓我們開始一個事務,并從表中刪除 age = 25 的記錄,最后,我們使用 ROLLBACK 命令撤消所有的更改。

sqlite> BEGIN;
sqlite> DELETE FROM COMPANY WHERE AGE = 25;
sqlite> ROLLBACK;

檢查 COMPANY 表,仍然有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

現在,讓我們開始另一個事務,從表中刪除 age = 25 的記錄,最后我們使用 COMMIT 命令提交所有的更改。

sqlite> BEGIN;
sqlite> DELETE FROM COMPANY WHERE AGE = 25;
sqlite> COMMIT;

檢查 COMPANY 表,有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

感謝各位的閱讀,以上就是“SQLite事務的屬性有哪些”的內容了,經過本文的學習后,相信大家對SQLite事務的屬性有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

二连浩特市| 广东省| 平潭县| 高要市| 双桥区| 青川县| 福安市| 巴林右旗| 漾濞| 澄迈县| 湖南省| 资讯| 日土县| 凤城市| 古浪县| 嘉荫县| 荆门市| 固阳县| 泰安市| 镇康县| 永平县| 陈巴尔虎旗| 舞钢市| 宜丰县| 原阳县| 黄石市| 商河县| 海盐县| 五台县| 丁青县| 陆良县| 扶沟县| 鄂托克旗| 宜川县| 乌拉特中旗| 水富县| 衡东县| 塘沽区| 西峡县| 广西| 扎鲁特旗|