版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ORACLE 培訓(xùn)教程 4 _sql 語言簡介阿哲第1頁共 7 頁SQL語言簡介1、SQL概述SQL 是一種面向數(shù)據(jù)庫的通用數(shù)據(jù)處理語言規(guī)范,能完成以下幾類功能:提取 查詢數(shù)據(jù),插入修改刪除數(shù)據(jù),生成修改和刪除數(shù)據(jù)庫對象,數(shù)據(jù)庫安全控制,數(shù)據(jù) 庫完整性及數(shù)據(jù)保護(hù)控制。數(shù)據(jù)庫對象包括表、視圖、索引、同義詞、簇、觸發(fā)器、函數(shù)、過程、包、數(shù)據(jù) 庫鏈、快照等(表空間、回滾段、角色、用戶)。數(shù)據(jù)庫通過對表的操作來管理存儲 在其中的數(shù)據(jù)。1) SQL*PLUS 界面:登錄:輸入 SQLPLUS 回車;輸入正確的 ORACLE 用戶名并回車;輸入用戶口 令并回車,顯示提示符:SQL退出:輸入 EXIT 即可
2、。2) 命令的編輯與運(yùn)行:在命令提示符后輸入 SQL 命令并運(yùn)行,以分號結(jié)束輸入;以斜杠結(jié)束輸入; 以空行結(jié)束輸入;利用 SQL 緩沖區(qū)進(jìn)行 PL/SQL 塊的編輯和運(yùn)行;利用命令文件進(jìn)行 PL/SQL 塊的編輯和運(yùn)行。2、數(shù)據(jù)庫查詢1) 用 SELECT 語句從表中提取查詢數(shù)據(jù)。語法為SELECT DISTINCTcolu mn 1,colum n2, FROM table name WHEREcon ditio ns GROUP BY con ditio ns ORDER BY expressio ns ASC/DESC;說明:SELECT 子句用于指定檢索數(shù)據(jù)庫的中哪些列,F(xiàn)ROM 子句
3、用于指定從 哪一個表或視圖中檢索數(shù)據(jù)。2) SELECT 中的操作符及多表查詢 WHERE 子句。(LIKE,IS,)WHERE 子句中的條件可以是一個包含等號或不等號的條件表達(dá)式,也可以是一個含有 IN、NOT IN、BETWEEN、LIKE、IS NOT NULL 等比較運(yùn)算符的條件式, 還可以是由單一的條件表達(dá)通過邏輯運(yùn)算符組合成復(fù)合條件。3)ORDER BY子句ORDER BY 子句使得 SQL 在顯示查詢結(jié)果時將各返回行按順序排列, 返回行的 排列順序由 ORDER BY 子句指定的表達(dá)式的值確定。4) 連接查詢利用 SELECT 語句進(jìn)行數(shù)據(jù)庫查詢時,可以把多個表、視圖的數(shù)據(jù)結(jié)合起
4、來, 使得查詢結(jié)果的每一行中包含來自多個表達(dá)式或視圖的數(shù)據(jù),這種操作被稱為連接查詢。連接查詢的方法是在 SELECT 命令的 FROM 子句中指定兩個或多個將被連接查 詢的表或視圖,并且在 WHERE 子句告訴 ORACLE 如何把多個表的數(shù)據(jù)進(jìn)行合并。 根據(jù) WHERE 子句中的條件表達(dá)式是等還是不等式, 可以把連接查詢分為等式連接和 不等式連接。ORACLE 培訓(xùn)教程 4 _sql 語言簡介阿哲第2頁共 7 頁5)子查詢?nèi)绻骋粋€ SELECT 命令(查詢 1)出現(xiàn)在另一個 SQL 命令(查詢 2)的一個 子句中,則稱查詢 1 是查詢 2 的子查詢。3 3、基本數(shù)據(jù)類型(NUMBER,VA
5、RCHAR2,DATE)O ORACEL 支持下列內(nèi)部數(shù)據(jù)類型:VARCHAR2 變長字符串,最長為 2000 字符。NUMBER數(shù)值型。LONG變長字符數(shù)據(jù),最長為 2G 字節(jié)。DATE日期型。RAW二進(jìn)制數(shù)據(jù),最長為 255 字節(jié)。LONG RAW變長二進(jìn)制數(shù)據(jù),最長為 2G 字節(jié)。ROWID二八進(jìn)制串,表示表的仃的唯地址CHAR定長字符數(shù)據(jù),最長為 255。4 4、常用函數(shù)用法:一個函數(shù)類似于一個算符,它操作數(shù)據(jù)項(xiàng),返回一個結(jié)果。函數(shù)在格式上不同 于算符,它個具有變元,可操作 0 個、一個、二個或多個變元,形式為: 函數(shù)名(變元,變元,函數(shù)具有下列一般類形:單行函數(shù)分組函數(shù)1)單行函數(shù)對
6、查詢的表或視圖的每一行返回一個結(jié)果行。它有數(shù)值函數(shù),字符 函數(shù),日期函數(shù),轉(zhuǎn)換函數(shù)等。2)分組函數(shù)返回的結(jié)果是基于行組而不是單行,所以分組函數(shù)不同于單行函數(shù) 在許多分組函數(shù)中可有下列選項(xiàng):DISTRNCT 該選項(xiàng)使分組函數(shù)只考慮變元表達(dá)式中的不同值。ALL 該選項(xiàng)使分組函數(shù)考慮全部值,包含全部重復(fù)。全部分組函數(shù)(除 COUNT (*)外)忽略空值。如果具有分組函數(shù)的查詢,沒 有返回行或只有空值(分組函數(shù)的變元取值的行),貝扮組函數(shù)返回空值。5、 數(shù)據(jù)操縱語言命令:數(shù)據(jù)庫操縱語言(DML )命令用于查詢和操縱模式對象中的數(shù)據(jù), 它不隱式地提交當(dāng) 前事務(wù)。它包含 UPDATE、INSERT、DEL
7、ETE、EXPLAIN PLAN、SELECT 和 LOCKTABLE 等命令。下面簡單介紹一下:1)UPDATE table name SET colu mn 仁 expressi on 1,colu mn 2=expressi on2,WHERE con ditio ns;例如:S QLUPDATE EMPSET JOB =MANAGER WHERE ENAME= MAPTINORACLE 培訓(xùn)教程 4 _sql 語言簡介阿哲第3頁共 7 頁SQL SELECT * FROM EMP;UPDATE 子句指明了要修改的數(shù)據(jù)庫是 EMP,并用 WHERE 子句限制了只對名字 (ENAME)為M
8、ARTIN 的職工的數(shù)據(jù)進(jìn)行修改,SET 子句則說明修改的方式,即 把MARTION 的工作名稱(JOB)改為MARAGER .2)INSERT INTOtable namecolu mn 1,colum n2, VALUESexpressi on 1,expressi on2,;例如:SQLSELECT INTO DEPT ( DNAME , DEPTNO)VALUES ( ACCOUNTING 10)3)DELETE FROM table name WHERE con ditio ns;例如:SQLDELETE FROM EMPWHERE EMPNO = 7654;DELETE 命令刪除一
9、條記錄,而且 DELETE 命令只能刪除整行,而不能刪除某行中 的部分?jǐn)?shù)據(jù)4)事務(wù)控制命令提交命令(COMMIT):可以使數(shù)據(jù)庫的修改永久化設(shè)置 AUTOCOMMIT 為允許狀 態(tài):SQLSET AUTOCOMMIT ON;回滾命令(ROLLBACK):消除上一個 COMMIT 命令后的所做的全部修改,使得數(shù) 據(jù)庫的內(nèi)容恢復(fù)到上一個 COMMIT 執(zhí)行后的狀態(tài).使用方法是:SQLROLLBACK;5、創(chuàng)建表、視圖、索引、同義詞、用戶。1)、表是存儲用戶數(shù)據(jù)的基本結(jié)構(gòu)。建立表主要指定義下列信息:列定義完整性約束表所在表空間存儲特性可選擇的聚集從一查詢獲得數(shù)據(jù)語法如下:CREATE TABLE t
10、able name(colu mn1 datatype DEFAULT expressi on con stra in t,colu mn1 datatype DEFAULT expressi on con stra in t, )STORAGE 子句其他子句;例如:SQLCREATE TABLE NEW_DEPT(DPTNO NUMBER(2),ORACLE 培訓(xùn)教程 4 _sql 語言簡介阿哲第4頁共 7 頁DNAME CHAR(6),LOC CHAR(13);更改表作用:增加列增加完整性約束重新定義列(數(shù)據(jù)類型、長度、缺省值)修改存儲參數(shù)或其它參數(shù)使能、使不能或刪除一完整性約束或觸發(fā)器
11、顯式地分配一個范圍2)、視圖視圖是一個邏輯表,它允許操作者從其它表或視圖存取數(shù)據(jù), 視圖本身不包含數(shù) 據(jù)。視圖所基于的表稱為基表。弓 I 入視圖有下列作用:提供附加的表安全級,限制存取基表的行或/和列集合。 隱藏數(shù)據(jù)復(fù)雜性。為數(shù)據(jù)提供另一種觀點(diǎn)。促使 ORACLE 的某些操作在包含視圖的數(shù)據(jù)庫上執(zhí)行,而不在另一個數(shù)據(jù) 庫上執(zhí)行。3)、索引索引是種數(shù)據(jù)庫對象。對于在表或聚集的索引列上的每一值將包含一項(xiàng),為行 提供直接的快速存取。在下列情況 ORACLE 可利用索引改進(jìn)性能:按指定的索引列的值查找行。按索引列的順序存取表。建立索引: CREATE UNIQUE INDEX indexname ON
12、 tablename(column ,。); 例如:SQLCREAT INDEX IC_EMPON CLUSTER EMPLOYEE4) 、同義詞同義詞:為表、視圖、序列、存儲函數(shù)、包、快照或其它同義詞的另一個名字。 使用同義詞為了安全和方便。對一對象建立同義詞可有下列好處:引用對象不需指出對象的持有者。引用對象不需指出它所位于的數(shù)據(jù)庫。為對象提供另一個名字。建立同義詞:CREATE SYNONYM symn on_name FOR username.table name;例如:CREAT PUBLIC SYNONYM EMPFOR SCOTT.EMP SALES5) 、用戶CREATE US
13、ER username IDENTIFIED BY password;例如:SQLCREATE USER SIDNEYIDENTIFIED BY CARTON ;ORACLE 培訓(xùn)教程 4 _sql 語言簡介阿哲第5頁共 7 頁Oracle 擴(kuò)展 PL/SQL 簡介1、PL/SQL 概述。PL/SQL 是 Oracle 對 SQL 規(guī)范的擴(kuò)展,是一種塊結(jié)構(gòu)語言,即構(gòu)成一個PL/SQL 程序的基本單位(過程、函數(shù)和無名塊)是邏輯塊,可包含任何數(shù)目的嵌套了快。這種程序結(jié) 構(gòu)支持逐步求精方法解決問題。一個塊(或子塊)將邏輯上相關(guān)的說明和語句組合在一 起,其形式為:DECLARE-說明BEGIN-語句
14、序列EXCEPTION-例外處理程序END ;它有以下優(yōu)點(diǎn):支持 SQL;生產(chǎn)率高;性能好;可稱植性;與 ORACLE 集成.2、PL/SQL 體系結(jié)構(gòu)PL/SQL 運(yùn)行系統(tǒng)是種技術(shù),不是一種獨(dú)立產(chǎn)品,可認(rèn)為這種技術(shù)是PL/SQL 塊和子程序的一種機(jī),它可接收任何有效的 PL/SQL 塊或子程序。如圖所示:PL/SQL 機(jī)可執(zhí)行過程性語句, 而將 SQL 語句發(fā)送到 ORACLE 服務(wù)器上的 SQL 語句 執(zhí)行器。在 ORACLE 預(yù)編譯程序或 OCI 程序中可嵌入無名的 PL/SQL 塊。如果ORACLE 具有 PROCEDURAL 選件,有名的 PL/SQL 塊(子程序)可單獨(dú)編譯,永 久
15、地存儲在數(shù)據(jù)庫中,準(zhǔn)備執(zhí)行。ORACLE 培訓(xùn)教程 4 _sql 語言簡介阿哲第6頁共 7 頁3、PL/SQL 基礎(chǔ):PL/SQL 有一字符集、保留字、標(biāo)點(diǎn)、數(shù)據(jù)類型、嚴(yán)密語法等,它與 SQL 有相同表示, 現(xiàn)重點(diǎn)介紹。1)、數(shù)據(jù)類型:如下表所示數(shù)據(jù)類型子類型純量 類型數(shù)值BINARY INTEGER 1NATURAL,POSITIVENUMBERDEC,DECIMAL,DOUBLEPRECISION,PLOAT,INTEGER,INT,NUMERIC,REAL,SMALLINT字符CHARCHARACTER,STRINGVARCHAR2VARCHARLONGLONG RAWRAWRAWID1
16、邏輯BOOLEAN日期DATE組合 類型記錄RECORD表TABLE2)、變量和常量在 PL/SQL 程序中可將值存儲在變量和常量中,當(dāng)程序執(zhí)行時,變量的值可以改 變,而常量的值不能改變。3)程序塊式結(jié)構(gòu):DECLARE變量說明部分;BEGIN執(zhí)行語句部分;EXCEPTION例外處理部分;END;4、控制語句:分支語句:IF con dition THENSeque nce_of_stateme nts;END IF;IF con dition THENSeque nce_of_stateme nt1;ELSESeque nce_of_stateme nt2; END IF;ORACLE 培訓(xùn)教程 4 _sql 語言簡介阿哲第7頁共 7 頁IF con diti on1 THENSeque nce_of_stateme nt1;ELSIF con diti on2 THENSeque nce_of_stateme nt2;ELSIF con diti on3 THENSeque nce_of_stateme nt3; END IF;5、循環(huán)語句:LOOPSeque nce_of_stateme nts;IF con dition THENEXIT;END IF;END LOOP;WHILE con dition
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成語英文翻譯
- 政府公開招標(biāo)合同實(shí)例
- 安全活動協(xié)議范本
- 服裝設(shè)計版權(quán)共享協(xié)議
- 建筑用工協(xié)議
- 2024年農(nóng)場種植土地租賃合同
- 人才招聘委托協(xié)議
- 住房抵押擔(dān)保借款合同的樣本版
- 【初中地理】《影響氣候的主要因素和氣候的影響》教學(xué)課件-2024-2025學(xué)年人教版地理七年級上冊
- 共同購房合作協(xié)議書范本
- “二十四節(jié)氣”研究性報告
- 危險化學(xué)品物質(zhì)氮?dú)猓∟2)安全告知卡
- 一年級數(shù)學(xué)上冊課件《分與合》第2課時6、7的分與合
- 國內(nèi)外靜脈輸液的現(xiàn)狀與發(fā)展
- 醫(yī)美整形全套上墻制度
- DBJ04-T 402-2020城鄉(xiāng)養(yǎng)老設(shè)施建設(shè)標(biāo)準(zhǔn)
- 藍(lán)色卡通風(fēng)2022小學(xué)六年級班干部競選PPT動態(tài)模板
- 隧道開挖作業(yè)臺車計算書
- 第二版柴油電噴發(fā)動機(jī)電路圖集大全附電腦針腳端子圖
- 《消費(fèi)者行為學(xué)》課件5章 消費(fèi)者的購買行為與決策
- 露骨料透水混凝土施工方案(20頁)
評論
0/150
提交評論