SQL語言共分為四大類:資料查詢語言DQL,資料操縱語言DML,資料定義語言DDL,資料控制語言DCL。
1 資料查詢語言DQL
資料查詢語言DQL基本結構是由SELECT子句,FROM子句,WHERE
子句組成的查詢塊:
SELECT <字段名表>
FROM <表或視圖名>
WHERE <查詢條件>
2 資料操縱語言DML
資料操縱語言DML主要有三種形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE
3 資料定義語言DDL
資料定義語言DDL用來建立資料庫中的各種對象-----表、視圖、
索引、同義詞、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 視圖 索引 同義詞 簇
擴充:
在存儲過程中, 需要改為動态語句 :execute immediate 'sql語句' ;
DDL 語句指 :
create table 建立表
alter table 修改表
drop table 删除表
truncate table 删除表中所有行
create index 建立索引
drop index 删除索引
當執行DDL語句時,在每一條語句前後,oracle都将送出目前的事務。如果使用者使用insert指令将記錄插入到資料庫後,執行了一條DDL語句(如create table),此時來自insert指令的資料将被送出到資料庫。當DDL語句執行完成時,DDL語句會被自動送出,不能復原。
4 資料控制語言DCL
資料控制語言DCL用來授予或回收通路資料庫的某種特權,并控制
資料庫操縱事務發生的時間及效果,對資料庫實行監視等。如:
1) GRANT:授權。
2) ROLLBACK TO :回退到某一點。
復原---ROLLBACK
復原指令使資料庫狀态回到上次最後送出的狀态。其格式為:
SQL>ROLLBACK;
3) COMMIT :送出。
在資料庫的插入、删除和修改操作時,隻有當事務在送出到資料
庫時才算完成。在事務送出前,隻有操作資料庫的這個人才能有權看
到所做的事情,别人隻有在最後送出完成後才可以看到。
送出資料有三種類型:顯式送出、隐式送出及自動送出。下面分
别說明這三種類型。
(1) 顯式送出
用COMMIT指令直接完成的送出為顯式送出。其格式為:
SQL>COMMIT;
(2) 隐式送出
用SQL指令間接完成的送出為隐式送出。這些指令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
(3) 自動送出
若把AUTOCOMMIT設定為ON,則在插入、修改、删除語句執行後,
系統将自動進行送出,這就是自動送出。其格式為:
SQL>SET AUTOCOMMIT ON;