




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、八.操作數(shù)據(jù)-DML語句.目的終了本節(jié)課后,該當(dāng)?shù)竭_(dá)如下目的:描畫每個(gè)DML語句向一個(gè)表中插入數(shù)據(jù)更新一個(gè)表中數(shù)據(jù)行從一個(gè)表中刪除行控制事務(wù).數(shù)據(jù)操作言語DML語句在以下情況下發(fā)生:往一個(gè)表中添加新行更改一個(gè)表中現(xiàn)有的行從一個(gè)表中刪除掉現(xiàn)有的行一個(gè)事務(wù)由一組構(gòu)成一個(gè)邏輯操作的DML語句組成. DEPT DEPTNO DNAME LOC - - 10ACCOUNTINGNEW YORK 20RESEARCHDALLAS 30SALESCHICAGO 40OPERATIONSBOSTON 新行 50DEVELOPMENTDETROIT DEPT DEPTNO DNAME LOC - - 10ACC
2、OUNTINGNEW YORK 20RESEARCHDALLAS 30SALESCHICAGO 40OPERATIONSBOSTON 50DEVELOPMENTDETROIT向一個(gè)表中添加新行“向 DEPT 表中添加新行.INSERT INTOtable (column , column.)VALUES(value , value.);INSERT語句運(yùn)用 INSERT 語句向表中添加新行.運(yùn)用這種方法只能一次插入一行數(shù)據(jù).SQL INSERT INTOdept (deptno, dname, loc) 2 VALUES(50, DEVELOPMENT, DETROIT);1 row crea
3、ted.插入新行插入包含每一個(gè)列值的新行.按缺省順序列出表中一切的列值. 列出 INSERT 子句中一切的列,這是可選的.日期值和字符值要用單引號(hào)括起來.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)前的日期的時(shí)間.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插入特殊的日期值添加一個(gè)新的員工檢驗(yàn)結(jié)果.SQL INSERT INTO managers(id, name, salary, hiredate) 2 SELECTempno, ename, sal, hiredate 3 FROM emp 4 WHEREjob = MANAGER;3 rows created.從另一個(gè)表中拷貝行創(chuàng)建帶有子查詢的 INSERT語句。不要運(yùn)用 VALUES 子句.子查詢中的列要與INSERT子句中的列相匹配.經(jīng)過運(yùn)用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語句中運(yùn)用子查詢. 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 .改動(dòng)一個(gè)表中的數(shù)據(jù).UPDATEtableSETcolumn = value , column = value, .WHERE condition; UPDATE 語句運(yùn)用 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.更改表中的行運(yùn)用 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.用多列子查詢進(jìn)展修正更改7698號(hào)雇員的任務(wù)和部門,與第 7499號(hào)雇員進(jìn)展匹配.SQLUPDATEemployee 2SETd
10、eptno = (SELECTdeptno 3FROMemp 4WHEREempno = 7788) 5WHEREjob = (SELECTjob 6FROMemp 7WHEREempno = 7788);2 rows updated.運(yùn)用子查詢更新兩列在 UPDATE語句中,運(yùn)用子查詢來進(jìn)展更改,更改的數(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.運(yùn)用子查詢更新兩列將員工號(hào)為114的任務(wù)崗位和工資改成與員工205一樣的. “從一個(gè)表中刪去一行DEPT DEPTNO DNAME LOC - - 10ACCOUNTINGNEW YORK 20RESEARCHDALLAS 30SALESCHICAGO 40OPERATIONSBOSTON 50DEVELOPMENTDETROIT 60MIS . DEPT DEPTNO DNAME LOC - - 10ACCOUNTINGNEW YORK 20RESEARCHDALLAS 30SALESC
12、HICAGO 40OPERATIONSBOSTON 60MIS .從一個(gè)表中移去一行 .DELETE FROM tableWHERE condition;DELETE語句 可以運(yùn)用 DELETE 語句從表中刪去現(xiàn)存的行.SQL DELETE FROMdepartment 2 WHERE dname = DEVELOPMENT; 1 row deleted.SQL DELETE FROMdepartment;4 rows deleted.從一個(gè)表中刪去行運(yùn)用 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.參照另一個(gè)表來刪除行運(yùn)用子查詢,使得 DELETE 語句能從另一個(gè)表中刪除某些行.TRUNCATE語句刪除表中的一切數(shù)據(jù),保管表構(gòu)造是DDL語句,不是DML語句Syntax:Example:TRUNCATE TABLE table_name;TRUNCATE TABLE copy_emp;.數(shù)據(jù)庫事務(wù)要么全部完成,要么全部廢棄的操作集合。一個(gè)事務(wù)可以包含以下語句:對(duì)數(shù)據(jù)做出一致性修正的DML語句。一個(gè) DDL 語句一個(gè) DCL語句.數(shù)據(jù)
14、庫事務(wù)以第一個(gè)可執(zhí)行的 SQL 語句開場(chǎng)。以以下情況終了:執(zhí)行COMMIT 或者 ROLLBACK 語句執(zhí)行DDL或者 DCL語句用戶退出系統(tǒng)解體.保證數(shù)據(jù)的一致性在數(shù)據(jù)永久改動(dòng)之前,檢查數(shù)據(jù)的改動(dòng)對(duì)邏輯相關(guān)的操作進(jìn)展分組COMMIT和ROLLBACK語句的優(yōu)點(diǎn).隱式事務(wù)處置在以下環(huán)境下,一個(gè)自動(dòng)提交發(fā)生:處置DDL語句處置DCL 語句從 SQL*Plus中退出, 而沒有明確指定COMMIT或者 ROLLBACK當(dāng) SQL*Plus中斷或者系統(tǒng)失敗時(shí)自動(dòng)進(jìn)展回滾.之前的形狀可以被恢復(fù).當(dāng)前的用戶可以用SELECT語句來查看DML操作后的結(jié)果.其它用戶看不到當(dāng)前用戶運(yùn)用 DML語句進(jìn)展數(shù)據(jù)支配的
15、結(jié)果.產(chǎn)生改動(dòng)的數(shù)據(jù)被加鎖,其它用戶不能改動(dòng)這些行.COMMIT 或ROLLBACK之前數(shù)據(jù)形狀.在 COMMIT之后的數(shù)據(jù)形狀數(shù)據(jù)的改動(dòng)將被永久的反響到數(shù)據(jù)庫中去.事務(wù)前面的數(shù)據(jù)形狀將被永久地丟棄.一切的用戶可以查看結(jié)果.加在產(chǎn)生改動(dòng)的行上的數(shù)據(jù)被解鎖; 這些行對(duì)于其他用戶是可用的.一切的保管點(diǎn)被釋放.SQL UPDATEemp 2 SET deptno = 10 3 WHEREempno = 7782;1 row updated.SQL COMMIT;Commit complete.提交數(shù)據(jù)產(chǎn)生改動(dòng).Commit the changes.SQL DELETE FROMemployee;14
16、 rows deleted.SQL ROLLBACK;Rollback complete.回滾后的數(shù)據(jù)形狀運(yùn)用 ROLLBACK語句丟棄一切的數(shù)據(jù)改動(dòng).數(shù)據(jù)的改動(dòng)失效.事務(wù)之前的數(shù)據(jù)形狀改動(dòng).在改動(dòng)行的上的鎖被釋放.控制事物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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 今年高三語文作文
- 石油化工產(chǎn)品加工工藝考核試卷
- 紙質(zhì)寵物用品市場(chǎng)推廣與營銷策略案例分析考核試卷
- 搶救車的管理和使用
- 5-3同步計(jì)數(shù)器的分析1-公式法
- 河南省漯河市2023~2024學(xué)年高一數(shù)學(xué)下學(xué)期5月月考試題含答案
- 河北省石家莊市2024-2025學(xué)年高一下學(xué)期第一次段考數(shù)學(xué)試題【含答案】
- 統(tǒng)編版語文五年級(jí)下冊(cè)第3課《月是故鄉(xiāng)明》精美課件
- 山東省鄒城市2025年初三3月月考化學(xué)試題文試題含解析
- 蘭州財(cái)經(jīng)大學(xué)《影視創(chuàng)意寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 電纜敷設(shè)施工技術(shù)經(jīng)驗(yàn)分享與案例分析重難點(diǎn)施工技術(shù)分享與討論
- 航天禁(限)用工藝目錄(2021版)-發(fā)文稿(公開)
- 湖北省武漢市2024屆高中畢業(yè)生四月調(diào)研考試數(shù)學(xué)試卷
- MOOC 機(jī)械設(shè)計(jì)基礎(chǔ)-西安交通大學(xué) 中國大學(xué)慕課答案
- 2024年極兔速遞有限公司招聘筆試參考題庫附帶答案詳解
- 2024年度年福建省考評(píng)員考試題庫附答案(基礎(chǔ)題)
- GB/T 4937.34-2024半導(dǎo)體器件機(jī)械和氣候試驗(yàn)方法第34部分:功率循環(huán)
- GB/T 21372-2024硅酸鹽水泥熟料
- 教學(xué)方法導(dǎo)論教師培訓(xùn)課件
- TCALC 003-2023 手術(shù)室患者人文關(guān)懷管理規(guī)范
- 小學(xué)低年級(jí)心理健康
評(píng)論
0/150
提交評(píng)論