標籤:
一、SQL語言的發展
SQL(Structure Query Language)語言是資料庫的核心語言。SQL的發展是從1974年開始的,其發展過程如下:1974年-----由Boyce和Chamberlin提出,當時稱SEQUEL。1976年-----IBM公司的Sanjase研究所在研製RDBMS SYSTEM R
時改為SQL。1979年-----ORACLE公司發表第一個基於SQL的商業化RDBMS產品。1982年-----IBM公司出版第一個RDBMS語言SQL/DS。1985年-----IBM公司出版第一個RDBMS語言DB2。1986年-----美國國家標準化組織ANSI宣布SQL作為資料庫工業標準。SQL是一個標準的資料庫語言,是面向集合的描述性非過程化語言。它功能強,效率高,簡單易學易維護(迄今為止,我還沒見過比它還好學的語言)。然而SQL語言由於以上優點,同時也出現了這樣一個問題:它是非過程性語言,即大多數語句都是獨立執行的,與上下文無關,而絕大部分應用都是一個完整的過程,顯然用SQL完全實現這些功能是很困難的。所以大多數資料庫公司為瞭解決此問題,作了如下兩方面的工作:(1)擴充SQL,在SQL中引入過程性結構;(2)把SQL嵌入到進階語言中,以便一起完成一個完整的應用。
二、SQL語言的分類SQL語言共分為四大類:資料查詢語言DQL,資料操縱語言DML,資料定義語言 (Data Definition Language)DDL,資料控制語言DCL。
1、資料查詢語言DQL
資料查詢語言DQL基本結構是:SELECT 欄位名表[INTO 新表 ]
FROM
FROM FROM FROM 表或視圖名[WHERE 尋找條件 ]
[GROUP BY
[GROUP BY [GROUP BY [GROUP BY 運算式 ]
[HAVING
[HAVING [HAVING [HAVING 尋找條件 ]
[ORDER BY
[ORDER BY [ORDER BY [ORDER BY 排序運算式 [ ASC | DESC ] ]
2、資料操縱語言
資料操縱語言DML主要有三種形式:1) 插入:INSERT
2) 更新:UPDATE
3) 刪除:DELETE
3、資料定義語言 (Data Definition Language)DDL
資料定義語言 (Data Definition Language)DDL用來建立資料庫中的各種對象-----表、視圖、索引、同義字、聚簇等如:CREATE TABLE/VIEW/INDEX/SYN/CLUSTER表 視圖 索引 同義字 簇
4 資料控制語言DCL
資料控制語言DCL用來授予或回收訪問資料庫的某種特權,並控制資料庫操縱事務發生的時間及效果,對資料庫實行監視等。如:1) GRANT:授權。2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一點。復原---ROLLBACK
復原命令使資料庫狀態回到上次最後提交的狀態。其格式為:
SQL>ROLLBACK;
3) COMMIT [WORK]:提交。
在資料庫的插入、刪除和修改操作時,只有當事務在提交到資料庫時才算完成。在事務提交前,只有操作資料庫的這個人才能有權看到所做的事情,別人只有在最後提交完成後才可以看到。提交資料有三種類型:顯式提交、隱式提交及自動認可。下面分別說明這三種類型。
(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;ALTER TABLE (表名) ADD (列名 資料類型);
ALTER TABLE (表名) MODIFY (列名 資料類型);
ALTER TABLE (表名) RENAME COLUMN (當前列名) TO (新列名);
ALTER TABLE (表名) DROP COLUMN (列名);
ALTER TABLE (當前表名) RENAME TO (新表名);
1、索引監視
開啟索引監控
alter index monitoring usage;
查看
select * from v$object_usage
關閉
alter index nomonitoring usage;
查看
select * from v$object_usage
關閉
alter index nomonitoring usage;
2、單引號與雙引號
雙引號的作用是:假如建立對象的時候,對象名、欄位名加雙引號,則示意 Oracle將嚴格區分大小寫,否則Oracle都預設大寫。
而單引號則示意:這個加了單引號的欄位是一個字類似字串,並不區分大小寫。
4、查看模式對象
select object_name from dba_objects where created> to_date(‘20140119‘,‘yyyymmdd‘); select object_name from user_objects where created> to_date(‘20140119‘,‘yyyymmdd‘);
來自為知筆記(Wiz)
oracle學習總結