第2篇-對(duì)象篇-表的操作課件_第1頁(yè)
第2篇-對(duì)象篇-表的操作課件_第2頁(yè)
第2篇-對(duì)象篇-表的操作課件_第3頁(yè)
第2篇-對(duì)象篇-表的操作課件_第4頁(yè)
第2篇-對(duì)象篇-表的操作課件_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、添加記錄刪除記錄修改記錄第2篇對(duì)象篇表的操作表的操作操作表記錄 語(yǔ)法格式: INSERT INTO table_name(column_list) VALUES(constant1,constant2,) 該語(yǔ)句的功能是向由table_name指定的表中加入一行,由VALUES指定的各列值。 (1) 在插入時(shí),列值表必須與列名表順序和數(shù)據(jù)類(lèi)型一致。 (2) VALUES中描述的值可以是一個(gè)常量、變量或一個(gè)表達(dá)式。 (3) 如果列值為空,則值必須置為NULL。如果列值指定為該列的默認(rèn)值,則用DEFAULT。 插入表記錄例: 向XSCJ數(shù)據(jù)庫(kù)的表XS中插入如下的一行:061101 王林 計(jì)算機(jī) 男

2、 19870201 50可以使用如下的PL/SQL語(yǔ)句: INSERT INTO XS(XH,XM,ZYM,XB,CSSJ,ZXF) VALUES(061101,王林, 計(jì)算機(jī),男,TO_DATE(19860210,YYYYMMDD),50); select TO_DATE(19860210,YYYYMMDD) from dual搭建平臺(tái):Create table xs(XH varchar(6),XM varchar(6),ZYM varchar(6),XB varchar(2),CSSJ DATE,ZXF NUMBER(2)日期型數(shù)據(jù)常用函數(shù)TO_DATE(字符串, 格式)作用:將字符轉(zhuǎn)換

3、為日期類(lèi)型插入表記錄插入表記錄 圖3.1插入新數(shù)據(jù)后查詢(xún)的結(jié)果插入表記錄 【例】建立了表test。 CREATE TABLE test ( xm char(20) NOT NULL, zy varchar(30) DEFAULT(計(jì)算機(jī)), nj number NOT NULL ); 用INSERT向test表中插入一條記錄: INSERT INTO test(xm,nj) VALUES(王林,3); 則插入到test表中的記錄為:王林 計(jì)算機(jī) 3 插入表記錄語(yǔ)法格式: INSERT INTO table_name derived_table derived_table是一個(gè)由SELECT語(yǔ)句

4、查詢(xún)所得到的結(jié)果集。利用該參數(shù),可把一個(gè)表中的部分?jǐn)?shù)據(jù)插入到表table_name中。插入表記錄【例3.3】用如下的CREATE語(yǔ)句建立表XS1: CREATE TABLE XS1 ( num varchar2(6) NOT NULL, name varchar2(8) NOT NULL, speiality varchar2(10) NULL );用如下的INSERT語(yǔ)句向XS1表中插入數(shù)據(jù): INSERT INTO XS1 SELECT XH,XM,ZYM FROM XS WHERE ZYM=計(jì)算機(jī);記錄的添加:insert記錄的更新:update 舉例:update xs set whe

5、re記錄的刪除:delete 舉例:表的操作檢查表XS_JSJ中的數(shù)據(jù)是否和表XS的數(shù)據(jù)相匹配,如果匹配則使用INSERT子句執(zhí)行插入數(shù)據(jù)行。搭建平臺(tái):create table xs1 as select * from xs;INSERT INTO XS1(XH,XM,ZYM,XB,CSSJ,ZXF) VALUES(121112, 王小二, 計(jì)算機(jī), 男,TO_DATE(19860130,YYYYMMDD),36) 已知條件: 存在兩個(gè)表xs_s和xs_d,兩個(gè)表的結(jié)構(gòu)一致,內(nèi)容不統(tǒng)一。目前的想法是,合并兩個(gè)表中所有的記錄到xs_d中。Merge 用法考慮有可能的情況是:1. 原表 xs_s中

6、有該學(xué)生,但是目的表xs_d中沒(méi)有該學(xué)生,則需要將原表中的學(xué)生insert 到目的表。2. 原表xs_s中有該學(xué)生,而且xs_d中也有該學(xué)生,則需要根據(jù)原表中的學(xué)生信息 update 目的表,或者刪除目的表中的部分記錄。Merge 用法Merge 用法Merge 根據(jù)對(duì)源表聯(lián)接的結(jié)果對(duì)目標(biāo)表執(zhí)行修改操作( 插入,更新,刪除)。對(duì)于特定的數(shù)據(jù),在一次批量操作過(guò)程中,如果數(shù)據(jù)已經(jīng)存在,則對(duì)存在的數(shù)據(jù)按照現(xiàn)有情況進(jìn)行更新,如果不存在,則需要加入數(shù)據(jù)庫(kù)??梢圆捎?Oracle 的 MERGE。-根據(jù)與源表聯(lián)接的結(jié)果,對(duì)目標(biāo)表執(zhí)行插入、更新或刪除操作。3.1.1插入表記錄 語(yǔ)法格式: MERGE INT

7、O table_name USING table_name ON (join_condition) WHEN MATCHED THEN UPDATE SET WHEN NOT MATCHED THEN INSERT() VALUES()- USING 子句用于指定要與目標(biāo)聯(lián)接的數(shù)據(jù)源。- ON 子句用于指定決定目標(biāo)與源的匹配位置的聯(lián)接條件。- WHEN 子句用于根據(jù)ON 子句的結(jié)果指定要執(zhí)行的操作。 【例】 檢查表XS_JSJ中的數(shù)據(jù)是否和表XS的數(shù)據(jù)相匹配,如果匹配則使用INSERT子句執(zhí)行插入數(shù)據(jù)行。搭建平臺(tái):create table xs1 as select * from xsINSE

8、RT INTO XS1(XH,XM,ZYM,XB,CSSJ,ZXF) VALUES(121112, 王小二, 計(jì)算機(jī), 男,TO_DATE(19860130,YYYYMMDD),36) 使用MERGE語(yǔ)句XS_JSJ表中新增的數(shù)據(jù)插入表XS中: MERGE INTO XS a USING XS1 b ON(a.XH=b.XH) WHEN NOT MATCHED THEN INSERT(a.xh,a.xm,a.zym,a.xb,a.cssj,a.zxf) Values(b.xh,b.xm,b.zym,b.xb,b.cssj,b.zxf); Merge 用法Merge 插入記錄、更新記錄的語(yǔ)法格式

9、:MERGE INTO tdest dUSING tsrc s ON (s.srckey = d.destkey) WHEN NOT MATCHED THEN INSERT (destkey, destdata) VALUES (srckey, srcdata)WHEN MATCHED THENUPDATE SET d.destdata = d.destdata + s.srcdata3.1.1插入表記錄create table PRODUCTS ( PRODUCT_ID INTEGER, PRODUCT_NAME VARCHAR2(60), CATEGORY VARCHAR2(60) );c

10、reate table NEWPRODUCTS ( PRODUCT_ID INTEGER, PRODUCT_NAME VARCHAR2(60), CATEGORY VARCHAR2(60) );merge into products p using newproducts np on (duct_id=duct_id)when matched then update set duct_name=duct_name, p.category=np.category;加結(jié)果圖和表原始數(shù)據(jù)圖強(qiáng)調(diào)目標(biāo)表MERGE INTO products pUSING ne

11、wproducts npON (duct_id = duct_id) WHEN NOT MATCHED THEN INSERT VALUES (duct_id,duct_name, np.category);MERGE INTO products p USING newproducts np ON (duct_id = duct_id) WHEN MATCHED THEN UPDATE SET duct_name = duct_name, p.category = np.category DELETE W

12、HERE (p.category = ELECTRNCS) WHEN NOT MATCHED THEN INSERT VALUES (duct_id, duct_name, np.category)加結(jié)果圖刪除表記錄 1. 使用 DELETE刪除數(shù)據(jù) 在PL/SQL語(yǔ)言中,刪除行可以使用DELETE語(yǔ)句。 語(yǔ)法格式: DELETE FROM table_nameview_name WHERE condition 若省略該條件,表示刪除所有的行。 【例3.5】將XSCJ數(shù)據(jù)庫(kù)的XS表中總學(xué)分小于39的行刪除 DELETE FROM XS WHERE ZXF7800 uni

13、on all select empno,ename,sal ,deptno from scott.emp where deptno=10 order by deptno ASC oracle集合操作 使用UNION操作符,但是不指定ALL關(guān)鍵字,獲得員工編號(hào)大于7800或者所在部門(mén)編號(hào)為10的員工信息。oracle集合操作 【例】使用intersect操作符,獲得員工編號(hào)大于7800并且所在部門(mén)編號(hào)是10的員工信息?!纠渴褂胢inus操作符,獲得員工編號(hào)大于7800但是所在部門(mén)編號(hào)不是10的員工信息。oracle集合操作 使用UNION ALL和MINUS運(yùn)算符,獲得員工編號(hào)大于7800或者所在部門(mén)編號(hào)為10的員工中,工資大于等于2000的所有員工信息。select empno,ena

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論