事務是用來分割數據庫活動的邏輯工作單元,事務即有起點,也有終點;
事物的處理就是保證數據操作的完整性,所有的操作要么成功要么同時失敗。
當下列事件之一發生時,事務就開始了:
當下列事件之一發生時,事務就結束了:
DML的主要語句(操作):
? ? ? ? ? ? ? ?Insert語句:向數據表張插入一條記錄。
? ? ? ? ? ? ? ?Delete語句:刪除數據表中的一條或多條記錄,也可以刪除數據表中的所有記錄,但是,它的操作對象仍是記錄。
? ? ? ? ? ? ? ?Update語句:用于修改已存在表中的記錄的內容。
DDL(Data Definition Language 數據定義語言):用于操作對象和對象的屬性,這種對象包括數據庫本身,以及數據庫對象,像:表、視圖等等,
DDL的主要語句(操作):
? ? ? ? ? ? ? ?Create語句:可以創建數據庫和數據庫的一些對象。
? ? ? ? ? ? ? ?Drop語句:可以刪除數據表、索引、觸發程序、條件約束以及數據表的權限等。
? ? ? ? ? ? ? ?Alter語句:修改數據表定義及屬性。
DCL(Data Control Language 數據控制語句)的操作是數據庫對象的權限,這些操作的確定使數據更加的安全。
DCL的主要語句(操作):
? ? ? ? ? ? ? ? Grant語句:允許對象的創建者給某用戶或某組或所有用戶(PUBLIC)某些特定的權限。
? ? ? ? ? ? ? ? Revoke語句:可以廢除某用戶或某組或所有用戶訪問權限
事物的處理就是保證數據操作的完整性,所有的操作要么成功要么同時失敗。
當下列事件之一發生時,事務就開始了:
- 連接到數據庫上,并執行了第一條 DML 語句;
- 當前一個事務結束后,又輸入了另外一條 DML 語句;
當下列事件之一發生時,事務就結束了:
- 執行 COMMIT 或 ROLLBACK語句;
- 執行一條 DLL語句,例如 CREATE TABLE 語句;在這種情況下, 會自動執行 COMMIT 語句;
- 執行一條 DCL語句,例如GRANT語句;在這種情況下,會自動執行COMMIT語句;
- ?斷開與數據庫的連接。在退出SQL*Plus時,通常會輸入EXIT命令,此時會自動執行COMMIT語句。如果SQL*Plus被意外終止了(例如運行SQL*Plus的計算機崩潰了),那么就會自動執行ROLLBACK語句;
- 執行了一條DML語句,該語句卻失敗了;在這種情況中,會為這個無效的DML語句執行ROLLBACK;
注意:事務完成之后,如果不顯示地提交或回滾事務,都被認為是不好的編程習慣,因此確保在每個事務后面都要執行COMMIT或ROLLBACK語句。
DML(data manipulation language 數據操控語言):用于操作數據庫對象中包含的數據,也就是說操作的單位是記錄。
DML的主要語句(操作):
? ? ? ? ? ? ? ?Insert語句:向數據表張插入一條記錄。
? ? ? ? ? ? ? ?Delete語句:刪除數據表中的一條或多條記錄,也可以刪除數據表中的所有記錄,但是,它的操作對象仍是記錄。
? ? ? ? ? ? ? ?Update語句:用于修改已存在表中的記錄的內容。
DDL(Data Definition Language 數據定義語言):用于操作對象和對象的屬性,這種對象包括數據庫本身,以及數據庫對象,像:表、視圖等等,
DDL的主要語句(操作):
? ? ? ? ? ? ? ?Create語句:可以創建數據庫和數據庫的一些對象。
? ? ? ? ? ? ? ?Drop語句:可以刪除數據表、索引、觸發程序、條件約束以及數據表的權限等。
? ? ? ? ? ? ? ?Alter語句:修改數據表定義及屬性。
DCL(Data Control Language 數據控制語句)的操作是數據庫對象的權限,這些操作的確定使數據更加的安全。
DCL的主要語句(操作):
? ? ? ? ? ? ? ? Grant語句:允許對象的創建者給某用戶或某組或所有用戶(PUBLIC)某些特定的權限。
? ? ? ? ? ? ? ? Revoke語句:可以廢除某用戶或某組或所有用戶訪問權限