從SQL語言的分類談COMMIT和ROLLBACK的用法

來源:互聯網
上載者:User


從功能上劃分,SQL語言可以分為DDL,DML和DCL三大類。

    1. DDL(Data Definition Language) 
    資料定義語言 (Data Definition Language),用於定義和管理 SQL 資料庫中的所有對象的語言 ;
    CREATE---建立表
    ALTER---修改表
    DROP---刪除表

    2. DML(Data Manipulation Language) 
    資料操縱語言,SQL中處理資料等操作統稱為資料操縱語言 ; 
    INSERT---資料的插入
    DELETE---資料的刪除
    UPDATE---資料的修改
    SELECT---資料的查詢

    DCL(Data Control Language) 
    資料控制語言,用來授予或回收訪問資料庫的某種特權,並控制資料庫操縱事務發生的時間及效果,對資料庫實行監視等;
    GRANT---授權。
    ROLLBACK---復原
    COMMIT---提交。

     提交資料有三種類型:顯式提交、隱式提交及自動認可。下面分別說明這三種類型。

    (1) 顯式提交

    用COMMIT命令直接完成的提交為顯式提交。

    (2) 隱式提交

    用SQL命令間接完成的提交為隱式提交。這些命令是:

    ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,

EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

    (3) 自動認可

    若把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,在運行指令碼後,表已經建好了,並不在需要你再進行顯式提交。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.