国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
OracleSQL語(yǔ)言

OracleSQL語(yǔ)言


  數(shù)據(jù)庫(kù)對(duì)象包括表、視圖、索引、同義詞、簇、觸發(fā)器、函數(shù)、過(guò)程、包、數(shù)據(jù)庫(kù)鏈、快照等(表空間、回滾段、角色、用戶)。數(shù)據(jù)庫(kù)通過(guò)對(duì)表的操作來(lái)管理存儲(chǔ)在其中的數(shù)據(jù)。

  SQL*PLUS界面:

  登錄:輸入SQLPLUS回車;輸入正確的ORACLE用戶名并回車;輸入用戶口令并回車,顯示提示符:SQL>

  退出:輸入EXIT即可。

  2)命令的編輯與運(yùn)行:

  在命令提示符后輸入SQL命令并運(yùn)行,以分號(hào)結(jié)束輸入;以斜杠結(jié)束輸入;以空行結(jié)束輸入;

  利用SQL緩沖區(qū)進(jìn)行PL/SQL塊的編輯和運(yùn)行;

  利用命令文件進(jìn)行PL/SQL塊的編輯和運(yùn)行。

  數(shù)據(jù)庫(kù)查詢

  用SELECT語(yǔ)句從表中提取查詢數(shù)據(jù)。語(yǔ)法為

  SELECT [DISTINCT] {column1,column2,…} FROM tablename WHERE {conditions} GROUP BY {conditions} ORDER BY {expressions} [ASC/DESC];

  說(shuō)明:SELECT子句用于指定檢索數(shù)據(jù)庫(kù)的中哪些列,F(xiàn)ROM子句用于指定從哪一個(gè)表或視圖中檢索數(shù)據(jù)。

  SELECT中的操作符及多表查詢WHERE子句。(LIKE,IS,…)

  WHERE子句中的條件可以是一個(gè)包含等號(hào)或不等號(hào)的條件表達(dá)式,也可以是一個(gè)含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比較運(yùn)算符的條件式,還可以是由單一的條件表達(dá)通過(guò)邏輯運(yùn)算符組合成復(fù)合條件。

  ORDER BY 子句

  ORDER BY 子句使得SQL在顯示查詢結(jié)果時(shí)將各返回行按順序排列,返回行的排列順序由ORDER BY 子句指定的表達(dá)式的值確定。

  連接查詢

  利用SELECT語(yǔ)句進(jìn)行數(shù)據(jù)庫(kù)查詢時(shí),可以把多個(gè)表、視圖的數(shù)據(jù)結(jié)合起來(lái),使得查詢結(jié)果的每一行中包含來(lái)自多個(gè)表達(dá)式或視圖的數(shù)據(jù),這種操作被稱為連接查詢。

  連接查詢的方法是在SELECT命令的FROM子句中指定兩個(gè)或多個(gè)將被連接查詢的表或視圖,并且在WHERE子句告訴ORACLE如何把多個(gè)表的數(shù)據(jù)進(jìn)行合并。根據(jù)WHERE子句中的條件表達(dá)式是等還是不等式,可以把連接查詢分為等式連接和不等式連接。

  子查詢

  如果某一個(gè)SELECT命令(查詢1)出現(xiàn)在另一個(gè)SQL命令(查詢2)的一個(gè)子句中,則稱查詢1是查詢2的子查詢。

  基本數(shù)據(jù)類型(NUMBER,VARCHAR2,DATE) O

  RACEL支持下列內(nèi)部數(shù)據(jù)類型:

  VARCHAR2 變長(zhǎng)字符串,最長(zhǎng)為2000字符。

  NUMBER 數(shù)值型。

  LONG 變長(zhǎng)字符數(shù)據(jù),最長(zhǎng)為2G字節(jié)。

  DATE 日期型。

  RAW 二進(jìn)制數(shù)據(jù),最長(zhǎng)為255字節(jié)。

  LONG RAW 變長(zhǎng)二進(jìn)制數(shù)據(jù),最長(zhǎng)為2G字節(jié)。

  ROWID 二六進(jìn)制串,表示表的行的唯一地址。

  CHAR 定長(zhǎng)字符數(shù)據(jù),最長(zhǎng)為255。

  常用函數(shù)用法:

  一個(gè)函數(shù)類似于一個(gè)算符,它操作數(shù)據(jù)項(xiàng),返回一個(gè)結(jié)果。函數(shù)在格式上不同于算符,它個(gè)具有變?cè)?,可操?個(gè)、一個(gè)、二個(gè)或多個(gè)變?cè)问綖椋?br>
  函數(shù)名(變?cè)?,變?cè)?br>
  函數(shù)具有下列一般類形:

  單行函數(shù)

  分組函數(shù)

  單行函數(shù)對(duì)查詢的表或視圖的每一行返回一個(gè)結(jié)果行。它有數(shù)值函數(shù),字符函數(shù),日期函數(shù),轉(zhuǎn)換函數(shù)等。

  分組函數(shù)返回的結(jié)果是基于行組而不是單行,所以分組函數(shù)不同于單行函數(shù)。在許多分組函數(shù)中可有下列選項(xiàng):

  DISTRNCT 該選項(xiàng)使分組函數(shù)只考慮變?cè)磉_(dá)式中的不同值。

  ALL該選項(xiàng)使分組函數(shù)考慮全部值,包含全部重復(fù)。

  全部分組函數(shù)(除COUNT(*)外)忽略空值。如果具有分組函數(shù)的查詢,沒(méi)有返回行或只有空值(分組函數(shù)的變?cè)≈档男校瑒t分組函數(shù)返回空值。

  5、 數(shù)據(jù)操縱語(yǔ)言命令:

  數(shù)據(jù)庫(kù)操縱語(yǔ)言(DML)命令用于查詢和操縱模式對(duì)象中的數(shù)據(jù),它不隱式地提交當(dāng)前事務(wù)。它包含UPDATE、INSERT、DELETE、EXPLAIN PLAN、SELECT和LOCK TABLE 等命令。下面簡(jiǎn)單介紹一下:

  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子句指明了要修改的數(shù)據(jù)庫(kù)是EMP,并用WHERE子句限制了只對(duì)名字(ENAME)為’MARTIN’的職工的數(shù)據(jù)進(jìn)行修改,SET子句則說(shuō)明修改的方式,即把’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命令只能刪除整行,而不能刪除某行中的部分?jǐn)?shù)據(jù).

  4) 事務(wù)控制命令

  提交命令(COMMIT):可以使數(shù)據(jù)庫(kù)的修改永久化.設(shè)置AUTOCOMMIT為允許狀態(tài):SQL >SET AUTOCOMMIT ON;

  回滾命令(ROLLBACK):消除上一個(gè)COMMIT命令后的所做的全部修改,使得數(shù)據(jù)庫(kù)的內(nèi)容恢復(fù)到上一個(gè)COMMIT執(zhí)行后的狀態(tài).使用方法是:

  SQL>ROLLBACK;

  創(chuàng)建表、視圖、索引、同義詞、用戶。

  、表是存儲(chǔ)用戶數(shù)據(jù)的基本結(jié)構(gòu)。

  建立表主要指定義下列信息:

  列定義

  完整性約束

  表所在表空間

  存儲(chǔ)特性

  可選擇的聚集

  從一查詢獲得數(shù)據(jù)

  語(yǔ)法如下: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);

  更改表作用:

  增加列

  增加完整性約束

  重新定義列(數(shù)據(jù)類型、長(zhǎng)度、缺省值)

  修改存儲(chǔ)參數(shù)或其它參數(shù)

  使能、使不能或刪除一完整性約束或觸發(fā)器

  顯式地分配一個(gè)范圍

  2)、視圖

  視圖是一個(gè)邏輯表,它允許操作者從其它表或視圖存取數(shù)據(jù),視圖本身不包含數(shù)據(jù)。視圖所基于的表稱為基表。

  引入視圖有下列作用:

  提供附加的表安全級(jí),限制存取基表的行或/和列集合。

  隱藏?cái)?shù)據(jù)復(fù)雜性。

  為數(shù)據(jù)提供另一種觀點(diǎn)。

  促使ORACLE的某些操作在包含視圖的數(shù)據(jù)庫(kù)上執(zhí)行,而不在另一個(gè)數(shù)據(jù)庫(kù)上執(zhí)行。

  3)、索引

  索引是種數(shù)據(jù)庫(kù)對(duì)象。對(duì)于在表或聚集的索引列上的每一值將包含一項(xiàng),為行提供直接的快速存取。在下列情況ORACLE可利用索引改進(jìn)性能:

  按指定的索引列的值查找行。

  按索引列的順序存取表。

  建立索引: CREATE [UNIQUE] INDEX indexname ON tablename(column ,。。。);

  例如:SQL>CREAT INDEX IC_EMP

  ON CLUSTER EMPLOYEE

  4)、同義詞

  同義詞:為表、視圖、序列、存儲(chǔ)函數(shù)、包、快照或其它同義詞的另一個(gè)名字。使用同義詞為了安全和方便。對(duì)一對(duì)象建立同義詞可有下列好處:

  引用對(duì)象不需指出對(duì)象的持有者。

  引用對(duì)象不需指出它所位于的數(shù)據(jù)庫(kù)。

  為對(duì)象提供另一個(gè)名字。

  建立同義詞:

  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擴(kuò)展PL/SQL簡(jiǎn)介

  PL/SQL概述。

  PL/SQL是Oracle對(duì)SQL規(guī)范的擴(kuò)展,是一種塊結(jié)構(gòu)語(yǔ)言,即構(gòu)成一個(gè)PL/SQL程序的基本單位(過(guò)程、函數(shù)和無(wú)名塊)是邏輯塊,可包含任何數(shù)目的嵌套了快。這種程序結(jié)構(gòu)支持逐步求精方法解決問(wèn)題。一個(gè)塊(或子塊)將邏輯上相關(guān)的說(shuō)明和語(yǔ)句組合在一起,其形式為:

  DECLARE

  ---說(shuō)明

  BEGIN

  ---語(yǔ)句序列

  EXCEPTION

  ---例外處理程序

  END;

  它有以下優(yōu)點(diǎn):

  支持SQL;

  生產(chǎn)率高;

  性能好;

  可稱植性;

  與ORACLE集成.

  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í)行過(guò)程性語(yǔ)句,而將SQL語(yǔ)句發(fā)送到ORACLE服務(wù)器上的SQL語(yǔ)句執(zhí)行器。在ORACLE預(yù)編譯程序或OCI程序中可嵌入無(wú)名的PL/SQL塊。如果ORACLE具有PROCEDURAL選件,有名的PL/SQL塊(子程序)可單獨(dú)編譯,永久地存儲(chǔ)在數(shù)據(jù)庫(kù)中,準(zhǔn)備執(zhí)行。

  PL/SQL基礎(chǔ):

  PL/SQL有一字符集、保留字、標(biāo)點(diǎn)、數(shù)據(jù)類型、嚴(yán)密語(yǔ)法等,它與SQL有相同表示,現(xiàn)重點(diǎn)介紹。

  1)、數(shù)據(jù)類型:如下表所示

  數(shù)據(jù)類型 子類型

  純量類型 數(shù)值 BINARY_INTEGER NATURAL,POSITIVE

  NUMBER DEC,DECIMAL,DOUBLE PRECISION,PLOAT,INTEGER,INT,NUMERIC,REAL,SMALLINT

  字符 CHAR CHARACTER,STRING

  VARCHAR2 VARCHAR

  LONG

  LONG RAW

  RAW

  RAWID

  邏輯 BOOLEAN

  日期 DATE

  組合 類型 記錄 RECORD

  表 TABLE

  2)、變量和常量

  在PL/SQL程序中可將值存儲(chǔ)在變量和常量中,當(dāng)程序執(zhí)行時(shí),變量的值可以改變,而常量的值不能改變。

  3)、程序塊式結(jié)構(gòu):

  DECLARE

  變量說(shuō)明部分;

  BEGIN

  執(zhí)行語(yǔ)句部分;

  [EXCEPTION

  例外處理部分;]

  END;

  控制語(yǔ)句:

  分支語(yǔ)句:

  IF condition THEN

  Sequence_of_statements;

  END IF;

  IF condition THEN

  Sequence_of_statement1;

  ELSE

  Sequence_of_statement2;

  END IF;

  IF condition1 THEN

  Sequence_of_statement1;

  ELSIF condition2 THEN

  Sequence_of_statement2;

  ELSIF condition3 THEN

  Sequence_of_statement3;

  END IF;

  循環(huán)語(yǔ)句:

  LOOP

  Sequence_of_statements;

  IF condition THEN

  EXIT;

  END IF;

  END LOOP;

  WHILE condition LOOP

  Sequence_of_statements;

  END LOOP;

  FOR counter IN lower_bound..higher_bound LOOP

  Sequence_of_statements;

  END LOOP;

  子程序:

  存儲(chǔ)過(guò)程:

  CREATE PROCEDURE 過(guò)程名 (參數(shù)說(shuō)明1,參數(shù)說(shuō)明2, 。。。) IS

  [局部說(shuō)明]

  BEGIN

  執(zhí)行語(yǔ)句;

  END 過(guò)程名;

  存儲(chǔ)函數(shù):

  CREATE FUNCTION 函數(shù)名 (參數(shù)說(shuō)明1,參數(shù)說(shuō)明2, 。。。)

  RETURN 類型 IS

  [局部說(shuō)明]

  BEGIN

  執(zhí)行語(yǔ)句;

  END 函數(shù)名;
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
分享一本不錯(cuò)的書 — 精通Oracle Database 12c SQL & PL/SQL編程(第3版)
第五章 模式對(duì)象
目錄 - 《精通SQL——結(jié)構(gòu)化查詢語(yǔ)言詳解》 - 免費(fèi)試讀 - book.csdn.ne...
Oracle數(shù)據(jù)庫(kù)課程的教與學(xué)(教學(xué)大綱)
Oracle 游標(biāo)
oracle forall 介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服