




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第1414章章 刪除數(shù)據(jù)記錄刪除數(shù)據(jù)記錄數(shù)據(jù)操縱語言包括數(shù)據(jù)操縱語言包括INSERT、UPDATE和和DELETE。DELETE語句主要是用來執(zhí)行數(shù)據(jù)的刪除操作。使用語句主要是用來執(zhí)行數(shù)據(jù)的刪除操作。使用DELETE語句既可以刪除滿足條件的數(shù)據(jù),也可以使用子查語句既可以刪除滿足條件的數(shù)據(jù),也可以使用子查詢刪除指定條件的數(shù)據(jù);既可以在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,詢刪除指定條件的數(shù)據(jù);既可以在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,也可以在視圖中刪除數(shù)據(jù)記錄。但是在視圖中刪除數(shù)據(jù)記錄也可以在視圖中刪除數(shù)據(jù)記錄。但是在視圖中刪除數(shù)據(jù)記錄時,還需要有一些額外的限制。這一章就主要介紹如何使用時,還需要有一些額外的限制。這一章
2、就主要介紹如何使用DELETE語句在數(shù)據(jù)表和視圖中刪除數(shù)據(jù)記錄的方法。語句在數(shù)據(jù)表和視圖中刪除數(shù)據(jù)記錄的方法。第第1414章章 刪除數(shù)據(jù)記錄刪除數(shù)據(jù)記錄刪除滿足條件數(shù)據(jù)記錄刪除滿足條件數(shù)據(jù)記錄向定義有外鍵約束的表中刪除數(shù)據(jù)記錄向定義有外鍵約束的表中刪除數(shù)據(jù)記錄使用子查詢刪除指定條件的數(shù)據(jù)記錄使用子查詢刪除指定條件的數(shù)據(jù)記錄利用利用MySQL5.0數(shù)據(jù)庫一次刪除多條數(shù)據(jù)記錄數(shù)據(jù)庫一次刪除多條數(shù)據(jù)記錄刪除數(shù)據(jù)表中所有記錄刪除數(shù)據(jù)表中所有記錄使用使用TRUNCATE 關(guān)鍵字刪除數(shù)據(jù)表中記錄關(guān)鍵字刪除數(shù)據(jù)表中記錄在視圖中刪除數(shù)據(jù)記錄在視圖中刪除數(shù)據(jù)記錄14.1 14.1 使用使用DELETEDELET
3、E語句刪除數(shù)據(jù)記錄語句刪除數(shù)據(jù)記錄如果想在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,可以使用如果想在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,可以使用DELETE語句。使用語句。使用DELETE語句既可以在數(shù)據(jù)表中刪除滿足條件數(shù)語句既可以在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄,也可以使用子查詢刪除指定條件的數(shù)據(jù),而且利用據(jù)記錄,也可以使用子查詢刪除指定條件的數(shù)據(jù),而且利用MySQL5.0數(shù)據(jù)庫的用戶圖形界面提供的功能還可以向指定數(shù)據(jù)庫的用戶圖形界面提供的功能還可以向指定的數(shù)據(jù)表中一次刪除多條數(shù)據(jù)記錄。如果數(shù)據(jù)表中的記錄都的數(shù)據(jù)表中一次刪除多條數(shù)據(jù)記錄。如果數(shù)據(jù)表中的記錄都不需要了,也可以使用不需要了,也可以使用DELETE語句將數(shù)據(jù)表中所有
4、的記錄語句將數(shù)據(jù)表中所有的記錄都刪除掉。這一節(jié)就來介紹使用都刪除掉。這一節(jié)就來介紹使用DELETE語句在數(shù)據(jù)表中刪語句在數(shù)據(jù)表中刪除數(shù)據(jù)的方法。除數(shù)據(jù)的方法。14.1.1 14.1.1 刪除滿足條件數(shù)據(jù)記錄刪除滿足條件數(shù)據(jù)記錄使用使用DELETE語句可以在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)語句可以在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄。使用記錄。使用DELETE語句在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄語句在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄的語法格式如下:的語法格式如下:DELETE FROM table_nameWHERE condition其中,其中,DELETE FROM表示在數(shù)據(jù)表中刪除數(shù)據(jù)記錄表示在數(shù)據(jù)表中刪除數(shù)
5、據(jù)記錄的關(guān)鍵字;的關(guān)鍵字;table_name表示表的名字;表示表的名字; WHERE子句后的子句后的condition用來指定查詢限制條件。用來指定查詢限制條件。注意:使用注意:使用DELETE語句執(zhí)行數(shù)據(jù)表的刪除操作時,語句執(zhí)行數(shù)據(jù)表的刪除操作時,不需要指定數(shù)據(jù)列的名字,因為不需要指定數(shù)據(jù)列的名字,因為DELETE語句執(zhí)行的操作是語句執(zhí)行的操作是刪除數(shù)據(jù)表中某一行的記錄,而不是刪除某一個單獨的列的刪除數(shù)據(jù)表中某一行的記錄,而不是刪除某一個單獨的列的記錄。記錄。14.1.1 14.1.1 刪除滿足條件數(shù)據(jù)記錄刪除滿足條件數(shù)據(jù)記錄例例14.1 刪除學生信息表中學生編號為刪除學生信息表中學生編號
6、為s286666的學生的學生記錄記錄DELETE FROM T_studentWHERE stuID=s28666614.1.2 14.1.2 在定義有外鍵約束的表中在定義有外鍵約束的表中刪除數(shù)據(jù)記錄刪除數(shù)據(jù)記錄向定義有外鍵約束的表中刪除數(shù)據(jù)記錄時,其刪除的向定義有外鍵約束的表中刪除數(shù)據(jù)記錄時,其刪除的數(shù)據(jù)記錄需要滿足外鍵約束條件。例如,對于成績信息表數(shù)據(jù)記錄需要滿足外鍵約束條件。例如,對于成績信息表T_result,該表中定義了一個指向?qū)W生信息表的外鍵約束,該表中定義了一個指向?qū)W生信息表的外鍵約束,其刪除方式(其刪除方式(ON DELETE)和刪除方式()和刪除方式(ON UPDATE)都是
7、都是RESTRICT。如果在學生信息表。如果在學生信息表T_result中刪除學生編中刪除學生編號,則數(shù)據(jù)庫管理系統(tǒng)會報錯,拒絕執(zhí)行刪除操作。號,則數(shù)據(jù)庫管理系統(tǒng)會報錯,拒絕執(zhí)行刪除操作。14.1.2 14.1.2 在定義有外鍵約束的表中在定義有外鍵約束的表中刪除數(shù)據(jù)記錄刪除數(shù)據(jù)記錄例例14.2 在學生信息表中刪除學生編號在學生信息表中刪除學生編號DELETE FROM T_studentWHERE stuID=s20636314.1.3 14.1.3 使用子查詢刪除指定條件的數(shù)據(jù)記錄使用子查詢刪除指定條件的數(shù)據(jù)記錄在在DELETE語句中,也可以使用子查詢刪除數(shù)據(jù)。使語句中,也可以使用子查詢刪
8、除數(shù)據(jù)。使用用DELETE語句在數(shù)據(jù)表中刪除刪除指定條件的數(shù)據(jù)記錄的語句在數(shù)據(jù)表中刪除刪除指定條件的數(shù)據(jù)記錄的語法格式如下語法格式如下 DELETE FROM table_nameWHERE subquery其中,其中,DELETE表示向數(shù)據(jù)表刪除數(shù)據(jù)記錄的關(guān)鍵字表示向數(shù)據(jù)表刪除數(shù)據(jù)記錄的關(guān)鍵字;table_name表示表的名字;表示表的名字;WHERE子句用來指定查詢條子句用來指定查詢條件,這里指定查詢條件可以是一個子查詢語句。件,這里指定查詢條件可以是一個子查詢語句。14.1.3 14.1.3 使用子查詢刪除指定條件的數(shù)據(jù)記錄使用子查詢刪除指定條件的數(shù)據(jù)記錄例例14.3 刪除成績信息表中學
9、生編號為刪除成績信息表中學生編號為s102203選修的選修的數(shù)據(jù)庫基礎(chǔ)課的成績數(shù)據(jù)庫基礎(chǔ)課的成績DELETE FROM T_resultWHERE curID=(SELECT C.curIDFROM T_curriculum CWHERE C.curName = 數(shù)據(jù)庫基礎(chǔ)數(shù)據(jù)庫基礎(chǔ))AND stuID=s10220314.1.4 14.1.4 利用利用MySQL5.0MySQL5.0數(shù)據(jù)庫一次數(shù)據(jù)庫一次刪除多條數(shù)據(jù)記錄刪除多條數(shù)據(jù)記錄在在MySQL5.0的用戶圖形界面中,提供了可以一次執(zhí)行的用戶圖形界面中,提供了可以一次執(zhí)行多條多條SQL語句的功能。語句的功能。DELETE FROM T_s
10、tudentWHERE stuID=s111111;DELETE FROM T_studentWHERE stuID=s284321;14.1.5 14.1.5 刪除數(shù)據(jù)表中所有記錄刪除數(shù)據(jù)表中所有記錄如果在如果在DELETE語句中,不使用語句中,不使用WHERE子句限制刪除子句限制刪除條件,則表示將指定數(shù)據(jù)表中的所有數(shù)據(jù)記錄全部刪除掉。條件,則表示將指定數(shù)據(jù)表中的所有數(shù)據(jù)記錄全部刪除掉。其語法格式如下:其語法格式如下:DELETE FROM table_name其中,其中,table_name表示數(shù)據(jù)表的名字。使用上面的表示數(shù)據(jù)表的名字。使用上面的DELETE語句,會將指定數(shù)據(jù)表中的所有記錄
11、全部刪除,但語句,會將指定數(shù)據(jù)表中的所有記錄全部刪除,但是數(shù)據(jù)表仍然保留,即把數(shù)據(jù)表中的數(shù)據(jù)記錄清空。是數(shù)據(jù)表仍然保留,即把數(shù)據(jù)表中的數(shù)據(jù)記錄清空。14.1.5 14.1.5 刪除數(shù)據(jù)表中所有記錄刪除數(shù)據(jù)表中所有記錄例例14.4 刪除課程信息表中全部記錄刪除課程信息表中全部記錄DELETE FROM T_curriculum14.2 14.2 使用使用TRUNCATETRUNCATE語句刪除語句刪除數(shù)據(jù)表中所有記錄數(shù)據(jù)表中所有記錄在在14.1.5小節(jié)中介紹了使用不帶小節(jié)中介紹了使用不帶WHERE子句的子句的DELETE語句刪除數(shù)據(jù)表中所有記錄的方法,除了可以使用語句刪除數(shù)據(jù)表中所有記錄的方法,
12、除了可以使用不帶不帶WHERE子句的子句的DELETE語句刪除數(shù)據(jù)表中所有記錄,語句刪除數(shù)據(jù)表中所有記錄,還可以使用還可以使用TRUNCATE語句來刪除數(shù)據(jù)表中所有記錄。其語句來刪除數(shù)據(jù)表中所有記錄。其語法規(guī)則如下:語法規(guī)則如下:TRUNCATE TABLE table_name 其中,其中,TRUNCATE TABLE是表示刪除數(shù)據(jù)表中所有是表示刪除數(shù)據(jù)表中所有記錄的關(guān)鍵字;記錄的關(guān)鍵字;table_name表示要刪除的數(shù)據(jù)表的名字。表示要刪除的數(shù)據(jù)表的名字。14.2 14.2 使用使用TRUNCATETRUNCATE語句刪除語句刪除數(shù)據(jù)表中所有記錄數(shù)據(jù)表中所有記錄雖然功能上與不帶雖然功能上
13、與不帶WHERE子句的子句的DELETE語句的功能語句的功能相同,但是它與相同,但是它與DELETE語句還是有些區(qū)別的。語句還是有些區(qū)別的。DELETE語句在刪除一個數(shù)據(jù)行之前,需要在事務處理語句在刪除一個數(shù)據(jù)行之前,需要在事務處理日志中記錄相關(guān)操作,一旦刪除失敗,可以通過日志中記錄相關(guān)操作,一旦刪除失敗,可以通過ROLLBACK(回滾),而(回滾),而TRUNCATE語句在刪除數(shù)據(jù)表時語句在刪除數(shù)據(jù)表時不會操作事務處理日志中的記錄,一旦刪除失敗,也不會執(zhí)不會操作事務處理日志中的記錄,一旦刪除失敗,也不會執(zhí)行行ROLLBACK(回滾)操作。(回滾)操作。DELETE語句是對數(shù)據(jù)記錄一行一行的執(zhí)
14、行刪除操作,語句是對數(shù)據(jù)記錄一行一行的執(zhí)行刪除操作,刪除的速度較慢;而刪除的速度較慢;而TRUNCATE語句在刪除數(shù)據(jù)表時是一語句在刪除數(shù)據(jù)表時是一次性將與數(shù)據(jù)表有關(guān)的所有記錄刪除,其刪除速度要比使用次性將與數(shù)據(jù)表有關(guān)的所有記錄刪除,其刪除速度要比使用DELETE語句刪除記錄的速度快。語句刪除記錄的速度快。14.2 14.2 使用使用TRUNCATETRUNCATE語句刪除語句刪除數(shù)據(jù)表中所有記錄數(shù)據(jù)表中所有記錄例例14.5 刪除刪除T_teacher_salary表中全部記錄表中全部記錄TRUNCATE TABLE T_teacher_salary14.3 14.3 在視圖中刪除數(shù)據(jù)記錄在視
15、圖中刪除數(shù)據(jù)記錄與數(shù)據(jù)表一樣,也可以向視圖中使用與數(shù)據(jù)表一樣,也可以向視圖中使用DELETE語句刪語句刪除一條數(shù)據(jù)記錄。對視圖中數(shù)據(jù)的刪除操作,最終轉(zhuǎn)化為數(shù)除一條數(shù)據(jù)記錄。對視圖中數(shù)據(jù)的刪除操作,最終轉(zhuǎn)化為數(shù)據(jù)表中數(shù)據(jù)的刪除操作。但是向視圖刪除一條數(shù)據(jù)記錄時,據(jù)表中數(shù)據(jù)的刪除操作。但是向視圖刪除一條數(shù)據(jù)記錄時,除了像數(shù)據(jù)表一樣要滿足數(shù)據(jù)約束條件之外,還需要滿足一除了像數(shù)據(jù)表一樣要滿足數(shù)據(jù)約束條件之外,還需要滿足一些其他的條件。些其他的條件。在視圖中刪除一條數(shù)據(jù)記錄需要滿足的基本原則為:在視圖中刪除一條數(shù)據(jù)記錄需要滿足的基本原則為:定義的視圖中不能含有定義的視圖中不能含有DISTINCT關(guān)鍵字、關(guān)鍵字、GROUP BY子句子句以及集合函數(shù)。以及集合函數(shù)。 14.3 14
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 量化交易系統(tǒng)設(shè)計試題及答案
- 計算機二級VB考試考生指南試題及答案
- 2025年軟考設(shè)計師解答技巧試題及答案
- 行政管理學專業(yè)中的研究方法試題及答案
- 行政法學問題解析試題及答案總結(jié)
- 年度市場推廣戰(zhàn)略的制定計劃
- 財務預算工作匯報
- VB程序設(shè)計常見題庫及答案
- 【蘇州】2025年江蘇蘇州市吳中區(qū)事業(yè)單位公開招聘工作人員93人筆試歷年典型考題及考點剖析附帶答案詳解
- 2025年軟考設(shè)計師本科知識體系試題及答案
- 職業(yè)升學就業(yè)協(xié)議書
- 旅行導游協(xié)議書
- 2024年新牛津譯林版三年級上冊英語 Unit 1 Hello!第三課時
- 2025年工程管理知識試題及答案
- 2025屆百師聯(lián)盟高三下學期二輪復習聯(lián)考(三)地理試題(含答案)
- 節(jié)目腳本委托合同協(xié)議
- 2024年山東濟南先行投資集團有限責任公司招聘考試真題
- 江蘇省揚州市邗江區(qū)2025年初三中考一??荚囉⒄Z試題含答案
- 產(chǎn)褥期保健及護理課件
- 陜西省西安市2025屆中考模擬英語檢測試題(附答案)
- 2025-2030消防車產(chǎn)業(yè)規(guī)劃專項研究報告
評論
0/150
提交評論