Oracle SQL語言(轉)
Oracle SQL語言(轉)[@more@]資料庫物件包括表、檢視、索引、同義詞、簇、觸發器、函式、過程、包、資料庫鏈、快照等(表空間、回滾段、角色、使用者)。資料庫透過對錶的操作來管理儲存在其中的資料。SQL*PLUS介面:登入:輸入SQLPLUS回車;輸入正確的ORACLE使用者名稱並回車;輸入使用者口令並回車,顯示提示符:SQL>退出:輸入EXIT即可。2)命令的編輯與執行:在命令提示符後輸入SQL命令並執行,以分號結束輸入;以斜槓結束輸入;以空行結束輸入;利用SQL緩衝區進行PL/SQL塊的編輯和執行;利用命令檔案進行PL/SQL塊的編輯和執行。資料庫查詢用SELECT語句從表中提取查詢資料。語法為SELECT [DISTINCT] {column1,column2,…} FROM tablename WHERE {conditions} GROUP BY {conditions} ORDER BY {expressions} [ASC/DESC]; 說明:SELECT子句用於指定檢索資料庫的中哪些列,FROM子句用於指定從哪一個表或檢視中檢索資料。SELECT中的運算子及多表查詢WHERE子句。(LIKE,IS,…)WHERE子句中的條件可以是一個包含等號或不等號的條件表示式,也可以是一個含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比較運算子的條件式,還可以是由單一的條件表達透過邏輯運算子組合成複合條件。ORDER BY 子句ORDER BY 子句使得SQL在顯示查詢結果時將各返回行按順序排列,返回行的排列順序由ORDER BY 子句指定的表示式的值確定。連線查詢利用SELECT語句進行資料庫查詢時,可以把多個表、檢視的資料結合起來,使得查詢結果的每一行中包含來自多個表示式或檢視的資料,這種操作被稱為連線查詢。連線查詢的方法是在SELECT命令的FROM子句中指定兩個或多個將被連線查詢的表或檢視,並且在WHERE子句告訴ORACLE如何把多個表的資料進行合併。根據WHERE子句中的條件表示式是等還是不等式,可以把連線查詢分為等式連線和不等式連線。子查詢如果某一個SELECT命令(查詢1)出現在另一個SQL命令(查詢2)的一個子句中,則稱查詢1是查詢2的子查詢。基本資料型別(NUMBER,VARCHAR2,DATE) ORACEL支援下列內部資料型別:VARCHAR2 變長字串,最長為2000字元。NUMBER 數值型。LONG 變長字元資料,最長為2G位元組。DATE 日期型。RAW 二進位制資料,最長為255位元組。LONG RAW 變長二進位制資料,最長為2G位元組。ROWID 二六進位制串,表示表的行的唯一地址。CHAR 定長字元資料,最長為255。常用函式用法:一個函式類似於一個算符,它運算元據項,返回一個結果。函式在格式上不同於算符,它個具有變元,可操作0個、一個、二個或多個變元,形式為:函式名(變元,變元,…)函式具有下列一般類形:單行函式分組函式單行函式對查詢的表或檢視的每一行返回一個結果行。它有數值函式,字元函式,日期函式,轉換函式等。分組函式返回的結果是基於行組而不是單行,所以分組函式不同於單行函式。在許多分組函式中可有下列選項:DISTRNCT 該選項使分組函式只考慮變元表示式中的不同值。ALL該選項使分組函式考慮全部值,包含全部重複。全部分組函式(除COUNT(*)外)忽略空值。如果具有分組函式的查詢,沒有返回行或只有空值(分組函式的變元取值的行),則分組函式返回空值。5、 資料操縱語言命令:資料庫操縱語言(DML)命令用於查詢和操縱模式物件中的資料,它不隱式地提交當前事務。它包含UPDATE、INSERT、DELETE、EXPLAIN PLAN、SELECT和LOCK TABLE 等命令。下面簡單介紹一下:1) UPDATE tablename SET {column1=expression1,column2=expression2,…} WHERE {conditions};例如:S QL>UPDATE EMP SET JOB =’MANAGER’WHERE ENAME=’MAPTIN’;SQL >SELECT * FROM EMP;UPDATE子句指明瞭要修改的資料庫是EMP,並用WHERE子句限制了只對名字(ENAME)為’MARTIN’的職工的資料進行修改,SET子句則說明修改的方式,即把’MARTION’的工作名稱(JOB)改為’MARAGER’.2) INSERT INTO tablename {column1,column2,…} VALUES {expression1,expression2,…};例如:SQL>SELECT INTO DEPT(DNAME, DEPTNO)VALUES (‘ACCOUNTING’,10)3) DELETE FROM tablename WHERE {conditions};例如:SQL>DELETE FROM EMP WHERE EMPNO = 7654;DELETE命令刪除一條記錄,而且DELETE命令只能刪除整行,而不能刪除某行中的部分資料.4) 事務控制命令提交命令(COMMIT):可以使資料庫的修改永久化.設定AUTOCOMMIT為允許狀態:SQL >SET AUTOCOMMIT ON;回滾命令(ROLLBACK):消除上一個COMMIT命令後的所做的全部修改,使得資料庫的內容恢復到上一個COMMIT執行後的狀態.使用方法是:SQL>ROLLBACK;建立表、檢視、索引、同義詞、使用者。、表是儲存使用者資料的基本結構。建立表主要指定義下列資訊:列定義完整性約束表所在表空間儲存特性可選擇的聚集從一查詢獲得資料語法如下:CREATE TABLE tablename (column1 datatype [DEFAULT expression] [constraint],column1 datatype [DEFAULT expression] [constraint],……)[STORAGE子句][其他子句…];例如:SQL>CREATE TABLE NEW_DEPT (DPTNO NUMBER(2),DNAME CHAR(6),LOC CHAR(13);更改表作用:增加列增加完整性約束重新定義列(資料型別、長度、預設值)修改儲存引數或其它引數使能、使不能或刪除一完整性約束或觸發器顯式地分配一個範圍2)、檢視檢視是一個邏輯表,它允許操作者從其它表或檢視存取資料,檢視本身不包含資料。檢視所基於的表稱為基表。引入檢視有下列作用:提供附加的表安全級,限制存取基表的行或/和列集合。隱藏資料複雜性。為資料提供另一種觀點。促使ORACLE的某些操作在包含檢視的資料庫上執行,而不在另一個資料庫上執行。3)、索引索引是種資料庫物件。對於在表或聚集的索引列上的每一值將包含一項,為行提供直接的快速存取。在下列情況ORACLE可利用索引改進效能:按指定的索引列的值查詢行。按索引列的順序存取表。建立索引: CREATE [UNIQUE] INDEX indexname ON tablename(column ,。。。);例如:SQL>CREAT INDEX IC_EMP ON CLUSTER EMPLOYEE4)、同義詞同義詞:為表、檢視、序列、儲存函式、包、快照或其它同義詞的另一個名字。使用同義詞為了安全和方便。對一物件建立同義詞可有下列好處:引用物件不需指出物件的持有者。引用物件不需指出它所位於的資料庫。為物件提供另一個名字。建立同義詞:CREATE SYNONYM symnon_name FOR [username.]tablename;例如:CREAT PUBLIC SYNONYM EMP FOR SCOTT.EMP @SALES 5)、使用者CREATE USER username IDENTIFIED BY password;例如:SQL>CREATE USER SIDNEY IDENTIFIED BY CARTON ;Oracle擴充套件PL/SQL簡介PL/SQL概述。PL/SQL是Oracle對SQL規範的擴充套件,是一種塊結構語言,即構成一個PL/SQL程式的基本單位(過程、函式和無名塊)是邏輯塊,可包含任何數目的巢狀了快。這種程式結構支援逐步求精方法解決問題。一個塊(或子塊)將邏輯上相關的說明和語句組合在一起,其形式為:DECLARE---說明BEGIN---語句序列EXCEPTION---例外處理程式END;它有以下優點:支援SQL;生產率高;效能好;可稱植性;與ORACLE整合.PL/SQL體系結構PL/SQL執行系統是種技術,不是一種獨立產品,可認為這種技術是PL/SQL塊和子程式的一種機,它可接收任何有效的PL/SQL塊或子程式。如圖所示:PL/SQL機可執行過程性語句,而將SQL語句傳送到ORACLE伺服器上的SQL語句執行器。在ORACLE預編譯程式或OCI程式中可嵌入無名的PL/SQL塊。如果ORACLE具有PROCEDURAL選件,有名的PL/SQL塊(子程式)可單獨編譯,永久地儲存在資料庫中,準備執行。PL/SQL基礎:PL/SQL有一字符集、保留字、標點、資料型別、嚴密語法等,它與SQL有相同表示,現重點介紹。1)、資料型別:如下表所示資料型別 子型別純量型別 數值 BINARY_INTEGER NATURAL,POSITIVENUMBER DEC,DECIMAL,DOUBLE PRECISION,PLOAT,INTEGER,INT,NUMERIC,REAL,SMALLINT字元 CHAR CHARACTER,STRINGVARCHAR2 VARCHARLONGLONG RAWRAWRAWID邏輯 BOOLEAN日期 DATE組合 型別 記錄 RECORD表 TABLE2)、變數和常量在PL/SQL程式中可將值儲存在變數和常量中,當程式執行時,變數的值可以改變,而常量的值不能改變。3)、程式塊式結構:DECLARE變數說明部分;BEGIN執行語句部分;[EXCEPTION例外處理部分;]END;控制語句:分支語句:IF condition THENSequence_of_statements;END IF;IF condition THENSequence_of_statement1;ELSESequence_of_statement2;END IF;IF condition1 THENSequence_of_statement1;ELSIF condition2 THENSequence_of_statement2;ELSIF condition3 THENSequence_of_statement3;END IF;迴圈語句:LOOPSequence_of_statements;IF condition THENEXIT;END IF;END LOOP;WHILE condition LOOPSequence_of_statements;END LOOP;FOR counter IN lower_bound..higher_bound LOOPSequence_of_statements;END LOOP;子程式:儲存過程:CREATE PROCEDURE 過程名 (引數說明1,引數說明2, 。。。) IS[區域性說明]BEGIN執行語句;END 過程名;儲存函式:CREATE FUNCTION 函式名 (引數說明1,引數說明2, 。。。)RETURN 型別 IS[區域性說明]BEGIN執行語句;END 函式名
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-942596/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle PL/SQL語言基礎(轉)OracleSQL
- Oracle 的PL/SQL語言使用OracleSQL
- Oracle PL/SQL語言基礎OracleSQL
- SQL語言基本教程(一) (轉)SQL
- SQL語言快速入門(轉)SQL
- oracle之PLSql語言(二)sql語句的使用OracleSQL
- Oracle SQL精妙SQL語句講解(轉)OracleSQL
- SQL語言SQL
- SQL查詢語言基本教程(2) (轉)SQL
- SQL查詢語言基本教程(3) (轉)SQL
- C語言連線Oracle (轉載)C語言Oracle
- sql程式語言SQL
- sql語言演示!SQL
- Oracle 行轉列的sql語句OracleSQL
- SQL語言基礎(資料控制語言)SQL
- SQL語言(結構化查詢語言)SQL
- 轉貼:Oracle維護常用SQL語句OracleSQL
- oracle動態sql語句處理(轉)OracleSQL
- SQL語言分類SQL
- Java 語言是強型別語言語言(轉)Java型別
- 關聯式資料庫SQL語言詳解(轉)資料庫SQL
- Oracle SQL Loader的詳細語法 <轉>OracleSQL
- ORACLE SQL語句優化技術分析(轉)OracleSQL優化
- Oracle中SQL語句解析的步驟(轉)OracleSQL
- SQL語言學習(二)SQL
- Oracle PL/SQL語言初級教程之異常處理OracleSQL
- Oracle資料操作和控制語言詳解(轉)Oracle
- oracle sql語句OracleSQL
- Oracle行轉列、列轉行的Sql語句總結OracleSQL
- SQL語言基礎(SELECT語句)SQL
- ORACLE常用的SQL語法和資料物件(轉)OracleSQL物件
- SQL語言基礎(函式)SQL函式
- Go語言SQL操作實戰GoSQL
- D語言 (科幻 ) (轉)
- Oracle基本SQL語句OracleSQL
- oracle常用SQL語句OracleSQL
- oracle的sql語句OracleSQL
- Oracle一個SQL語句的處理過程(轉)OracleSQL