oracle操作數(shù)據(jù)-DML語句ppt課件_第1頁
oracle操作數(shù)據(jù)-DML語句ppt課件_第2頁
oracle操作數(shù)據(jù)-DML語句ppt課件_第3頁
oracle操作數(shù)據(jù)-DML語句ppt課件_第4頁
oracle操作數(shù)據(jù)-DML語句ppt課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、八.操作數(shù)據(jù)-DML語句.目的終了本節(jié)課后,該當(dāng)?shù)竭_如下目的:描畫每個DML語句向一個表中插入數(shù)據(jù)更新一個表中數(shù)據(jù)行從一個表中刪除行控制事務(wù).數(shù)據(jù)操作言語DML語句在以下情況下發(fā)生:往一個表中添加新行更改一個表中現(xiàn)有的行從一個表中刪除掉現(xiàn)有的行一個事務(wù)由一組構(gòu)成一個邏輯操作的DML語句組成. DEPT DEPTNO DNAME LOC - - 10ACCOUNTINGNEW YORK 20RESEARCHDALLAS 30SALESCHICAGO 40OPERATIONSBOSTON 新行 50DEVELOPMENTDETROIT DEPT DEPTNO DNAME LOC - - 10ACC

2、OUNTINGNEW YORK 20RESEARCHDALLAS 30SALESCHICAGO 40OPERATIONSBOSTON 50DEVELOPMENTDETROIT向一個表中添加新行“向 DEPT 表中添加新行.INSERT INTOtable (column , column.)VALUES(value , value.);INSERT語句運用 INSERT 語句向表中添加新行.運用這種方法只能一次插入一行數(shù)據(jù).SQL INSERT INTOdept (deptno, dname, loc) 2 VALUES(50, DEVELOPMENT, DETROIT);1 row crea

3、ted.插入新行插入包含每一個列值的新行.按缺省順序列出表中一切的列值. 列出 INSERT 子句中一切的列,這是可選的.日期值和字符值要用單引號括起來.SQL INSERT INTOdept (deptno, dname ) 2 VALUES(60, MIS);1 row created.SQL INSERT INTOdept 2 VALUES(70, FINANCE, NULL);1 row created.插入帶有空值的行省略的方法: 從列的鏈表忽略有空值的列明確的方法: 指定 NULL 關(guān)鍵字.SQL INSERT INTOemp (empno, ename, job, 2mgr, h

4、iredate, sal, comm, 3deptno) 4 VALUES(7196, GREEN, SALESMAN, 57782, SYSDATE, 2000, NULL, 610);1 row created.插入特殊的值SYSDATE函數(shù)取出當(dāng)前的日期的時間.SQL INSERT INTO emp 2 VALUES (2296,AROMANO,SALESMAN,7782, 3 TO_DATE(03-2月 1997, DD-MON, YYYY), 4 1300, NULL, 10);1 row created.EMPNO ENAME JOB MGR HIREDATE SAL COMM D

5、EPTNO- - - - - - - - 2296 AROMANO SALESMAN 7782 03-2月 -97 1300 10插入特殊的日期值添加一個新的員工檢驗結(jié)果.SQL INSERT INTO managers(id, name, salary, hiredate) 2 SELECTempno, ename, sal, hiredate 3 FROM emp 4 WHEREjob = MANAGER;3 rows created.從另一個表中拷貝行創(chuàng)建帶有子查詢的 INSERT語句。不要運用 VALUES 子句.子查詢中的列要與INSERT子句中的列相匹配.經(jīng)過運用SQL*Plus的

6、替代參數(shù)創(chuàng)建交互腳本SQL INSERT INTOdept (deptno, dname, loc) 2 VALUES (&department_id, 3 &department_name, &location);Enter value for department_id: 80Enter value for department_name: EDUCATIONEnter value for location: ATLANTA1 row created.替代變量插入值.INSERT INTO (SELECT employee_id, last_name, , hire_date, job_i

7、d, salary, department_id FROM employees WHERE department_id = 50) VALUES (99999, Taylor, DTAYLOR, TO_DATE(07-7月-99, DD-MON-RR), ST_CLERK, 5000, 50);1 row created.在INSERT語句中運用子查詢. EMP“更改EMP 表中的一行數(shù)據(jù)EMP EMPNO ENAME JOB . DEPTNO 7839KINGPRESIDENT 10 7698BLAKEMANAGER 30 7782CLARKMANAGER 10 7566JONESMANAG

8、ER 20 .20 EMPNO ENAME JOB . DEPTNO 7839KINGPRESIDENT 10 7698BLAKEMANAGER 30 7782CLARKMANAGER 10 7566JONESMANAGER 20 .改動一個表中的數(shù)據(jù).UPDATEtableSETcolumn = value , column = value, .WHERE condition; UPDATE 語句運用 UPDATE 語句更改現(xiàn)有的行.假設(shè)需求,可以一次更改多行.SQL UPDATE emp 2 SET deptno = 20 3 WHERE empno = 7782;1 row update

9、d.SQL UPDATE employee 2 SET deptno = 20;14 rows updated.更改表中的行運用 WHERE 子句來指定要修正的行.假設(shè)忽略WHERE子句,那么句子中一切的值都將被更改.SQL UPDATE emp 2 SET (job, deptno) = 3 (SELECT job, deptno 4 FROM emp 5 WHERE empno = 7499) 6 WHERE empno = 7698;1 row updated.用多列子查詢進展修正更改7698號雇員的任務(wù)和部門,與第 7499號雇員進展匹配.SQLUPDATEemployee 2SETd

10、eptno = (SELECTdeptno 3FROMemp 4WHEREempno = 7788) 5WHEREjob = (SELECTjob 6FROMemp 7WHEREempno = 7788);2 rows updated.運用子查詢更新兩列在 UPDATE語句中,運用子查詢來進展更改,更改的數(shù)據(jù)與其它表中的數(shù)據(jù)有關(guān).UPDATE employeesSET job_id = (SELECT job_id FROM employees WHERE employee_id = 205), salary = (SELECT salary FROM employees WHERE empl

11、oyee_id = 205) WHERE employee_id = 114;1 row updated.運用子查詢更新兩列將員工號為114的任務(wù)崗位和工資改成與員工205一樣的. “從一個表中刪去一行DEPT DEPTNO DNAME LOC - - 10ACCOUNTINGNEW YORK 20RESEARCHDALLAS 30SALESCHICAGO 40OPERATIONSBOSTON 50DEVELOPMENTDETROIT 60MIS . DEPT DEPTNO DNAME LOC - - 10ACCOUNTINGNEW YORK 20RESEARCHDALLAS 30SALESC

12、HICAGO 40OPERATIONSBOSTON 60MIS .從一個表中移去一行 .DELETE FROM tableWHERE condition;DELETE語句 可以運用 DELETE 語句從表中刪去現(xiàn)存的行.SQL DELETE FROMdepartment 2 WHERE dname = DEVELOPMENT; 1 row deleted.SQL DELETE FROMdepartment;4 rows deleted.從一個表中刪去行運用 WHERE 子句以指定哪些行該當(dāng)被刪去.假設(shè)忽略WHERE 子句,那么表中一切的數(shù)據(jù).SQL DELETE FROMemployee 2

13、WHEREdeptno = 3 (SELECT deptno 4 FROM dept 5 WHERE dname =SALES);6 rows deleted.參照另一個表來刪除行運用子查詢,使得 DELETE 語句能從另一個表中刪除某些行.TRUNCATE語句刪除表中的一切數(shù)據(jù),保管表構(gòu)造是DDL語句,不是DML語句Syntax:Example:TRUNCATE TABLE table_name;TRUNCATE TABLE copy_emp;.數(shù)據(jù)庫事務(wù)要么全部完成,要么全部廢棄的操作集合。一個事務(wù)可以包含以下語句:對數(shù)據(jù)做出一致性修正的DML語句。一個 DDL 語句一個 DCL語句.數(shù)據(jù)

14、庫事務(wù)以第一個可執(zhí)行的 SQL 語句開場。以以下情況終了:執(zhí)行COMMIT 或者 ROLLBACK 語句執(zhí)行DDL或者 DCL語句用戶退出系統(tǒng)解體.保證數(shù)據(jù)的一致性在數(shù)據(jù)永久改動之前,檢查數(shù)據(jù)的改動對邏輯相關(guān)的操作進展分組COMMIT和ROLLBACK語句的優(yōu)點.隱式事務(wù)處置在以下環(huán)境下,一個自動提交發(fā)生:處置DDL語句處置DCL 語句從 SQL*Plus中退出, 而沒有明確指定COMMIT或者 ROLLBACK當(dāng) SQL*Plus中斷或者系統(tǒng)失敗時自動進展回滾.之前的形狀可以被恢復(fù).當(dāng)前的用戶可以用SELECT語句來查看DML操作后的結(jié)果.其它用戶看不到當(dāng)前用戶運用 DML語句進展數(shù)據(jù)支配的

15、結(jié)果.產(chǎn)生改動的數(shù)據(jù)被加鎖,其它用戶不能改動這些行.COMMIT 或ROLLBACK之前數(shù)據(jù)形狀.在 COMMIT之后的數(shù)據(jù)形狀數(shù)據(jù)的改動將被永久的反響到數(shù)據(jù)庫中去.事務(wù)前面的數(shù)據(jù)形狀將被永久地丟棄.一切的用戶可以查看結(jié)果.加在產(chǎn)生改動的行上的數(shù)據(jù)被解鎖; 這些行對于其他用戶是可用的.一切的保管點被釋放.SQL UPDATEemp 2 SET deptno = 10 3 WHEREempno = 7782;1 row updated.SQL COMMIT;Commit complete.提交數(shù)據(jù)產(chǎn)生改動.Commit the changes.SQL DELETE FROMemployee;14

16、 rows deleted.SQL ROLLBACK;Rollback complete.回滾后的數(shù)據(jù)形狀運用 ROLLBACK語句丟棄一切的數(shù)據(jù)改動.數(shù)據(jù)的改動失效.事務(wù)之前的數(shù)據(jù)形狀改動.在改動行的上的鎖被釋放.控制事物SAVEPOINT BSAVEPOINT ADELETEINSERTUPDATEINSERTCOMMITTimeTransactionROLLBACK to SAVEPOINT BROLLBACK to SAVEPOINT AROLLBACK.SQL UPDATE.SQL SAVEPOINT update_done;Savepoint created.SQL INSERT.SQL ROLLBACK TO update_done;Rollback com

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論