版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
7-處理數(shù)據(jù)處理數(shù)據(jù)7-處理數(shù)據(jù)課程目標(biāo)學(xué)完本課后,應(yīng)能完成以下工作:描述各個(gè)數(shù)據(jù)操縱語(yǔ)言(DML)語(yǔ)句在表中插入行更新表中的行從表中刪除行控制事務(wù)處理7-處理數(shù)據(jù)數(shù)據(jù)操縱語(yǔ)言在進(jìn)行以下操作時(shí),會(huì)執(zhí)行DML語(yǔ)句:在表中添加新行修改表中現(xiàn)有的行從表中刪除現(xiàn)有的行事務(wù)處理由DML語(yǔ)句的集合組成,這些語(yǔ)句構(gòu)成一個(gè)邏輯工作單元。7-處理數(shù)據(jù)在表中添加新行DEPARTMENTS在
DEPARTMENTS
表中插入新行新行7-處理數(shù)據(jù)INSERT
語(yǔ)句語(yǔ)法使用INSERT
語(yǔ)句在表中添加新行:
使用此語(yǔ)法一次只能插入一行。INSERTINTO table[(column[,column...])]VALUES (value[,value...]);7-處理數(shù)據(jù)插入新行插入一個(gè)新行,此行的每一列都含有值按照表中列的默認(rèn)順序列出這些值(可選)在INSERT
子句中列出列
將字符和日期值包含在單引號(hào)中INSERTINTOdepartments(department_id,department_name,manager_id,location_id)VALUES(70,'PublicRelations',100,1700);1rowcreated.7-處理數(shù)據(jù)插入帶有空值的行隱式方法:在列的列表中省略該列顯式方法:在
VALUES
子句中指定
NULL
關(guān)鍵字INSERTINTO departments(department_id,department_name)VALUES (30,'Purchasing');1rowcreated.INSERTINTO departmentsVALUES (100,'Finance',NULL,NULL);1rowcreated.7-處理數(shù)據(jù)插入特殊值SYSDATE
函數(shù)記錄當(dāng)前日期和時(shí)間INSERTINTOemployees(employee_id,first_name,last_name,email,phone_number,hire_date,job_id,salary,commission_pct,manager_id,department_id)VALUES (113,'Louis','Popp','LPOPP','515.124.4567',SYSDATE,'AC_ACCOUNT',6900,NULL,205,100);1rowcreated.7-處理數(shù)據(jù)插入特定日期值添加新雇員
確認(rèn)添加的內(nèi)容INSERTINTOemployeesVALUES(114,'Den','Raphealy','DRAPHEAL','515.127.4561',TO_DATE('FEB3,1999','MONDD,YYYY'),'AC_ACCOUNT',11000,NULL,100,30);1rowcreated.7-處理數(shù)據(jù)INSERTINTOdepartments
(department_id,department_name,location_id)
VALUES(&department_id,'&department_name',&location);
創(chuàng)建腳本在SQL語(yǔ)句中使用&替代來(lái)提示用戶輸入值&是變量值的占位符1rowcreated.7-處理數(shù)據(jù)從其它表中復(fù)制行編寫(xiě)帶有子查詢的INSERT
語(yǔ)句:
不要使用VALUES
子句。使INSERT
子句中的列數(shù)與子查詢中的列數(shù)匹配。INSERTINTOsales_reps(id,name,salary,commission_pct)SELECTemployee_id,last_name,salary,commission_pctFROMemployeesWHEREjob_idLIKE'%REP%';4rowscreated.7-處理數(shù)據(jù)更改表中的數(shù)據(jù)EMPLOYEES
更新
EMPLOYEES
表中的行:7-處理數(shù)據(jù)UPDATE
語(yǔ)句語(yǔ)法
使用
UPDATE
語(yǔ)句修改現(xiàn)有的行:
如果需要,可以一次更新多行。
UPDATE tableSET column=value[,column=value,...][WHERE condition];7-處理數(shù)據(jù)更新表中的行如果指定了WHERE
子句,則可以修改特定的一行或
多行:
如果省略WHERE
子句,則會(huì)修改表中的所有行:UPDATEemployeesSETdepartment_id=70WHEREemployee_id=113;1rowupdated.UPDATE copy_empSET department_id=110;22rowsupdated.7-處理數(shù)據(jù)使用子查詢更新兩個(gè)列更新雇員114的職務(wù)和薪金,使其與雇員205的職務(wù)和薪金相匹配。UPDATEemployeesSETjob_id=(SELECTjob_idFROMemployeesWHEREemployee_id=205),salary=(SELECTsalaryFROMemployeesWHEREemployee_id=205)WHEREemployee_id=114;1rowupdated.7-處理數(shù)據(jù)根據(jù)另一個(gè)表更新行根據(jù)另一個(gè)表中的值,在UPDATE
語(yǔ)句中使用子查詢來(lái)更新表中的行:UPDATEcopy_empSETdepartment_id=(SELECTdepartment_idFROMemployeesWHEREemployee_id=100)WHEREjob_id=(SELECTjob_idFROMemployeesWHEREemployee_id=200);1rowupdated.7-處理數(shù)據(jù)從
DEPARTMENTS
表中刪除一行:
從表中刪除行DEPARTMENTS
7-處理數(shù)據(jù)DELETE
語(yǔ)句使用DELETE
語(yǔ)句,可以從表中刪除現(xiàn)有的行:DELETE[FROM] table
[WHERE condition];7-處理數(shù)據(jù)從表中刪除行如果指定WHERE
子句,則可以刪除特定的行:
如果省略WHERE
子句,則會(huì)刪除表中的所有行:DELETEFROMdepartmentsWHEREdepartment_name='Finance';1rowdeleted.DELETEFROMcopy_emp;22rowsdeleted.7-處理數(shù)據(jù)根據(jù)另一個(gè)表刪除行根據(jù)另一個(gè)表中的值在DELETE
語(yǔ)句中使用子查詢來(lái)刪除表中的行:DELETEFROMemployeesWHEREdepartment_id=(SELECTdepartment_idFROMdepartmentsWHEREdepartment_nameLIKE'%Public%');1rowdeleted.7-處理數(shù)據(jù)TRUNCATE
語(yǔ)句從表中刪除所有行,使表為空并保留表結(jié)構(gòu)不變是數(shù)據(jù)定義語(yǔ)言(DDL)語(yǔ)句而不是DML語(yǔ)句,無(wú)法輕易地將其還原。語(yǔ)法:
示例:TRUNCATETABLEtable_name;TRUNCATETABLEcopy_emp;7-處理數(shù)據(jù)在INSERT
語(yǔ)句中使用子查詢INSERTINTO(SELECTemployee_id,last_name,email,hire_date,job_id,salary,department_idFROMemployeesWHEREdepartment_id=50)VALUES(99999,'Taylor','DTAYLOR',TO_DATE('07-JUN-99','DD-MON-RR'),'ST_CLERK',5000,50);1rowcreated.7-處理數(shù)據(jù)在INSERT
語(yǔ)句中使用子查詢驗(yàn)證結(jié)果:SELECTemployee_id,last_name,email,hire_date,job_id,salary,department_idFROMemployeesWHEREdepartment_id=50;7-處理數(shù)據(jù)數(shù)據(jù)庫(kù)事務(wù)處理數(shù)據(jù)庫(kù)事務(wù)處理由以下語(yǔ)句之一組成:對(duì)數(shù)據(jù)進(jìn)行一次一致更改的DML語(yǔ)句一條DDL語(yǔ)句一條數(shù)據(jù)控制語(yǔ)言(DCL)語(yǔ)句7-處理數(shù)據(jù)數(shù)據(jù)庫(kù)事務(wù)處理在執(zhí)行第一條DMLSQL語(yǔ)句時(shí)開(kāi)始在發(fā)生下列事件之一時(shí)結(jié)束:發(fā)出COMMIT
或ROLLBACK
語(yǔ)句執(zhí)行DDL或DCL語(yǔ)句(自動(dòng)提交)用戶退出iSQL*Plus系統(tǒng)崩潰7-處理數(shù)據(jù)COMMIT
和ROLLBACK
語(yǔ)句的優(yōu)點(diǎn)使用COMMIT
和ROLLBACK
語(yǔ)句,您可以:確保數(shù)據(jù)的一致性在使更改變成永久性更改之前預(yù)覽數(shù)據(jù)更改按邏輯關(guān)系對(duì)相關(guān)操作進(jìn)行分組7-處理數(shù)據(jù)控制事務(wù)處理SAVEPOINT
B
SAVEPOINT
A
DELETE
INSERT
UPDATE
INSERT
COMMIT
時(shí)間
事務(wù)處理
ROLLBACK
toSAVEPOINTB
ROLLBACK
toSAVEPOINTA
ROLLBACK
7-處理數(shù)據(jù)將更改回退到某個(gè)標(biāo)記使用SAVEPOINT
語(yǔ)句在當(dāng)前事務(wù)處理中創(chuàng)建一個(gè)標(biāo)記使用ROLLBACKTOSAVEPOINT
語(yǔ)句回退到該標(biāo)記UPDATE...SAVEPOINTupdate_done;Savepointcreated.INSERT...ROLLBACKTOupdate_done;Rollbackcomplete.7-處理數(shù)據(jù)隱式事務(wù)處理在下列情況下將發(fā)生自動(dòng)提交:發(fā)出DDL語(yǔ)句發(fā)出DCL語(yǔ)句從iSQL*Plus中正常退出,而沒(méi)有顯式發(fā)出COMMIT
或ROLLBACK
語(yǔ)句在iSQL*Plus異常終止或出現(xiàn)系統(tǒng)故障的情況下會(huì)發(fā)生自動(dòng)回退。7-處理數(shù)據(jù)7-處理數(shù)據(jù)執(zhí)行COMMIT
或ROLLBACK
操作之前的數(shù)據(jù)狀態(tài)可以將數(shù)據(jù)還原到以前的狀態(tài)。當(dāng)前用戶可以使用SELECT
語(yǔ)句查看DML操作的結(jié)果。其他用戶不能查看當(dāng)前用戶的DML語(yǔ)句的結(jié)果。受影響的行將被鎖定,其他用戶不能更改受影響的行中的數(shù)據(jù)。7-處理數(shù)據(jù)執(zhí)行COMMIT
操作之后的數(shù)據(jù)狀態(tài)數(shù)據(jù)庫(kù)中的數(shù)據(jù)更改將變成永久性的更改。以前的數(shù)據(jù)狀態(tài)將永久丟失。所有用戶都可以查看結(jié)果。受影響的行上的鎖將被釋放,其他用戶可以對(duì)這些行進(jìn)行處理。所有保存點(diǎn)都將被清除。7-處理數(shù)據(jù)提交數(shù)據(jù)進(jìn)行更改:
提交更改:DELETEFROMemployees
WHEREemployee_id=99999;
1rowdeleted.
INSERTINTOdepartments
VALUES(290,'CorporateTax',NULL,1700);
1rowcreated.
COMMIT;Commitcomplete.
7-處理數(shù)據(jù)執(zhí)行ROLLBACK
操作之后的數(shù)據(jù)狀態(tài)使用ROLLBACK
語(yǔ)句放棄所有待定更改之后,會(huì)有如下結(jié)果:數(shù)據(jù)更改將被還原數(shù)據(jù)將還原到以前的狀態(tài)受影響的行上的鎖將被釋放DELETEFROMcopy_emp;20rowsdeleted.ROLLBACK;Rollbackcomplete.7-處理數(shù)據(jù)執(zhí)行ROLLBACK
操作之后的數(shù)據(jù)狀態(tài)DELETEFROMtest;
25,000rowsdeleted.
ROLLBACK;
Rollbackcomplete.
DELETEFROMtestWHEREid=100;
1rowdeleted.
SELECT*FROMtestWHEREid=100;
Norowsselected.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人財(cái)產(chǎn)抵押借款簡(jiǎn)易協(xié)議文本版A版
- 二零二四全新石灰石環(huán)保綜合利用合同3篇
- 2024版特種設(shè)備吊裝運(yùn)輸合同3篇
- 個(gè)人房產(chǎn)買賣規(guī)范協(xié)議2024版A版
- 2024年04月中國(guó)建設(shè)銀行北京市分行度社會(huì)招考專業(yè)人才筆試歷年參考題庫(kù)附帶答案詳解
- 2025年農(nóng)業(yè)科技推廣合同會(huì)簽紀(jì)要3篇
- 2024版輪胎承包合同協(xié)議書(shū)
- 二零二五年度物流并購(gòu)保密及市場(chǎng)共享協(xié)議2篇
- 專業(yè)節(jié)電器產(chǎn)品銷售協(xié)議規(guī)范2024版A版
- 2024年03月貴州貴州銀行六盤(pán)水分行招考筆試歷年參考題庫(kù)附帶答案詳解
- GB/T 12914-2008紙和紙板抗張強(qiáng)度的測(cè)定
- GB/T 1185-2006光學(xué)零件表面疵病
- ps6000自動(dòng)化系統(tǒng)用戶操作及問(wèn)題處理培訓(xùn)
- 家庭教養(yǎng)方式問(wèn)卷(含評(píng)分標(biāo)準(zhǔn))
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設(shè)計(jì)和原理
- TSG ZF001-2006 安全閥安全技術(shù)監(jiān)察規(guī)程
- 部編版二年級(jí)語(yǔ)文下冊(cè)《蜘蛛開(kāi)店》
- 鍋爐升降平臺(tái)管理
- 200m3╱h凈化水處理站設(shè)計(jì)方案
- 個(gè)體化健康教育記錄表格模板1
評(píng)論
0/150
提交評(píng)論