日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

sqlite教程

SQLite 事務

閱讀 (2126)

SQLite 事務(Transaction)

事務(Transaction)是一個對數據庫執行工作單元。事務(Transaction)是以邏輯順序完成的工作單位或序列,可以是由用戶手動操作完成,也可以是由某種數據庫程序自動完成。

事務(Transaction)是指一個或多個更改數據庫的擴展。例如,如果您正在創建一個記錄或者更新一個記錄或者從表中刪除一個記錄,那么您正在該表上執行事務。重要的是要控制事務以確保數據的完整性和處理數據庫錯誤。

實際上,您可以把許多的 SQLite 查詢聯合成一組,把所有這些放在一起作為事務的一部分進行執行。

事務的屬性

事務(Transaction)具有以下四個標準屬性,通常根據首字母縮寫為 ACID:

  • 原子性(Atomicity):確保工作單位內的所有操作都成功完成,否則,事務會在出現故障時終止,之前的操作也會回滾到以前的狀態。

  • 一致性(Consistency):確保數據庫在成功提交的事務上正確地改變狀態。

  • 隔離性(Isolation):使事務操作相互獨立和透明。

  • 持久性(Durability):確保已提交事務的結果或效果在系統發生故障的情況下仍然存在。

事務控制

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

  • BEGIN TRANSACTION:開始事務處理。

  • COMMIT:保存更改,或者可以使用 END TRANSACTION 命令。

  • 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
關閉
程序員人生
主站蜘蛛池模板: 国产高清无密码一区二区三区 | 亚洲成人免费在线观看 | 色婷婷精品国产一区二区三区 | 国产福利视频网站 | 91久久网站 | 免费成人高清在线视频 | 精品国产18久久久久久怡红 | 99精品网| 欧美日韩一区不卡 | 久久男人 | 99久久精品视频免费 | 精品一区精品二区 | 国产欧美日韩中文字幕 | www.黄.com | 成人在线一区二区三区 | 亚洲一在线 | 国产伦精品一区二区三区免费 | 日韩伦理电影网站 | 国产精品福利在线 | 日韩一区网站 | 在线一区二区三区四区 | 精品99视频 | 日本a√在线观看 | 九九热在线视频 | 久久久精品久久久久 | 三级免费黄 | 国产精品一区三区 | 久久高清国产 | a级片免费视频 | 欧美波霸videosex极品 | 曰韩三级| 色就是色欧美亚洲 | 日韩av在线免费播放 | 亚洲精品电影网在线观看 | 国产精品18久久久久久久网站 | 亚洲成人av | 天堂在线| 在线一区| 亚洲变态 | 一区二区三区在线观看视频 | 午夜精品美女久久久久av福利 |