多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2

sqlite教程

SQLite 事務(wù)

閱讀 (2122)

SQLite 事務(wù)(Transaction)

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

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

實際上,您可以把許多的 SQLite 查詢聯(lián)合成一組,把所有這些放在一起作為事務(wù)的一部分進(jìn)行執(zhí)行。

事務(wù)的屬性

事務(wù)(Transaction)具有以下四個標(biāo)準(zhǔn)屬性,通常根據(jù)首字母縮寫為 ACID:

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

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

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

  • 持久性(Durability):確保已提交事務(wù)的結(jié)果或效果在系統(tǒng)發(fā)生故障的情況下仍然存在。

事務(wù)控制

使用下面的命令來控制事務(wù):

  • BEGIN TRANSACTION:開始事務(wù)處理。

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

  • ROLLBACK:回滾所做的更改。

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

BEGIN TRANSACTION 命令

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

BEGIN;

or 

BEGIN TRANSACTION;

COMMIT 命令

COMMIT 命令是用于把事務(wù)調(diào)用的更改保存到數(shù)據(jù)庫中的事務(wù)命令。

COMMIT 命令把自上次 COMMIT 或 ROLLBACK 命令以來的所有事務(wù)保存到數(shù)據(jù)庫。

COMMIT 命令的語法如下:

COMMIT;

or

END TRANSACTION;

ROLLBACK 命令

ROLLBACK 命令是用于撤消尚未保存到數(shù)據(jù)庫的事務(wù)的事務(wù)命令。

ROLLBACK 命令只能用于撤銷自上次發(fā)出 COMMIT 或 ROLLBACK 命令以來的事務(wù)。

ROLLBACK 命令的語法如下:

ROLLBACK;

實例

假設(shè) 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

現(xiàn)在,讓我們開始一個事務(wù),并從表中刪除 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

現(xiàn)在,讓我們開始另一個事務(wù),從表中刪除 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
關(guān)閉
程序員人生
主站蜘蛛池模板: 性欧美18一19| 波多野结衣免费在线视频 | 日本大胆一区免费视频 | 韩国欧美 | 国产成人综合亚洲欧洲色就色 | 欧美精品综合 | 欧美黑人巨大xxxxx | 欧美异族性hdsex在线播放 | 久久成人国产精品二三区 | 香蕉亚洲精品一区二区 | 欧美日韩天堂 | 欧美日韩精品一区三区 | 色欧美综合| 美女享受黑人的巨茎 | 波多结衣一区二区三区 | 456亚洲人成影院在线观 | 日本a∨网站 | 亚洲天堂成人 | 成人国产在线视频在线观看 | 久草精品视频在线播放 | 精品成人一区二区三区免费视频 | 另类图片成人偷拍 | 嫩草影院久久国产精品 | 中文字幕一区精品欧美 | 久久久久国产精品嫩草影院 | 精品h视频 | 国产1区2区| 亚洲一区二区三区高清 | 国产精品第一页第一页 | 欧美一级免费看 | 免费高清黄色 | 女人18毛片a级毛片一区二区 | 成人国产激情福利久久精品 | 日本高清在线看 | 欧美e片成 人 在线播放乱妇 | 日本专区| 在线91色| 国产精欧美一区二区三区 | 国产成人综合一区人人 | 欧美第一区| 国产精品v |