1. 程式人生 > >SQL分類,DDL,DML,DCL

SQL分類,DDL,DML,DCL

control 建立 tro eat 禁止 sel 產品 alter 用戶表

SQL分類

DDL(Data Definition Languages)

  數據定義語言,這些語句定義了不同的數據字段、數據庫、表、列、索引等數據。

  常用的語句關鍵字主要包括

    create(添加),drop(刪除),alter(修改)

DML (Data Manipulation Languges)

  數據操縱語句,用於添加、刪除、更新和查詢數據庫記錄,並檢查數據完整性。

  常用的語句關鍵字主要包括

    insert(插入字段),delete(刪除字段),update(修改字段),select(查詢表中的字段)

DCL(Data Control Languages)

  數據控制語句

    用於控制不同數據段直接的許可和訪問級別的語句,這些語句定義了數據庫、表、字段、、用戶訪問權限和安全級別。

  主要常用語句關鍵字包括

    grant :

    命令grant delete,update,select on sample_a to public;對所有數據庫用戶給出指明的權限,而命令grant select,update,insert,delete on sample_a to teplownd,greerw;只允許用戶teplownd和greerw對表sample_a做命令中所列出的動作。

    insert權限允許在其他用戶的表中建立行。語句grant insert on sample_a to public;允許所有用戶在sample_a中建立新的行。Oracle允許在單條grant語句中授多個權限,SQL語句grant insert,select on sample_a to public;等價於兩個語句:grant select on sample_a to public;語句和grant insert on sample_a to ublic;語句

    刪除權限允許其他用戶刪除指定表的信息行。此權限非同小可,因此我們建議小心使用。下面是一個實際例子:如果一個用戶連接到產品數據庫,而他還以為他連接的是測試數據庫。他發布了一條命令delete from people_master;並且Oracle做出了反應12003 rows delet.ed在退出SQL * Plus後,下一個程序訪問people_master查看Rick Bower的記錄,會被告知記錄不存在。

  select權限允許用戶查看其他用戶表中的內容。語句grant select on sample_3 to public;將允許所有用戶瀏覽表sample_3中的內容,而語句grant select on sample_3 to ops$rosenberge,ops$abbeyms;則只允許兩個用戶查看表sample_3中的內容。註意,當多個用戶接受授權時,用戶名之間要用逗號分隔。( 提示以public為授權對象時,所有數據庫用戶都獲得指定的權限。如果用戶的數據庫有15000個用戶,則單獨授權就需要15000次(每個用戶一次),而授權給public,一次即可。)

   update權限允許其他用戶修改非自己表中的數據。語句grant update on sample_a teplownd;允許用戶teplownd修改表sample_a中的信息。

  revike:

  revoke語句:收回授予的權限 

  ----對用戶member授權,允許其具有對數據表person的更新和刪除的操作權限:

  GRANT UPDATE,DELETE ON person

  TO member WITH GRANT OPTION --WITH GRANT OPTION表示該用戶可以向其他用戶授予他所擁有的權限;

  

  -----禁止member用戶對數據表person的更新權限:

  DENY UPDATE ON person

  TO member CASCADE;

  

  -----收回用戶member對person表的刪除權限:

  REVOKE DELETE ON person

  FROM member

    

SQL分類,DDL,DML,DCL