SQL分類,DDL,DML,DCL
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