第14章刪除數(shù)據(jù)記錄_第1頁(yè)
第14章刪除數(shù)據(jù)記錄_第2頁(yè)
第14章刪除數(shù)據(jù)記錄_第3頁(yè)
第14章刪除數(shù)據(jù)記錄_第4頁(yè)
第14章刪除數(shù)據(jù)記錄_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第1414章章 刪除數(shù)據(jù)記錄刪除數(shù)據(jù)記錄數(shù)據(jù)操縱語(yǔ)言包括數(shù)據(jù)操縱語(yǔ)言包括INSERT、UPDATE和和DELETE。DELETE語(yǔ)句主要是用來(lái)執(zhí)行數(shù)據(jù)的刪除操作。使用語(yǔ)句主要是用來(lái)執(zhí)行數(shù)據(jù)的刪除操作。使用DELETE語(yǔ)句既可以刪除滿足條件的數(shù)據(jù),也可以使用子查語(yǔ)句既可以刪除滿足條件的數(shù)據(jù),也可以使用子查詢刪除指定條件的數(shù)據(jù);既可以在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,詢刪除指定條件的數(shù)據(jù);既可以在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,也可以在視圖中刪除數(shù)據(jù)記錄。但是在視圖中刪除數(shù)據(jù)記錄也可以在視圖中刪除數(shù)據(jù)記錄。但是在視圖中刪除數(shù)據(jù)記錄時(shí),還需要有一些額外的限制。這一章就主要介紹如何使用時(shí),還需要有一些額外的限制。這一章

2、就主要介紹如何使用DELETE語(yǔ)句在數(shù)據(jù)表和視圖中刪除數(shù)據(jù)記錄的方法。語(yǔ)句在數(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ù)庫(kù)一次刪除多條數(shù)據(jù)記錄數(shù)據(jù)庫(kù)一次刪除多條數(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語(yǔ)句刪除數(shù)據(jù)記錄語(yǔ)句刪除數(shù)據(jù)記錄如果想在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,可以使用如果想在數(shù)據(jù)表中刪除數(shù)據(jù)記錄,可以使用DELETE語(yǔ)句。使用語(yǔ)句。使用DELETE語(yǔ)句既可以在數(shù)據(jù)表中刪除滿足條件數(shù)語(yǔ)句既可以在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄,也可以使用子查詢刪除指定條件的數(shù)據(jù),而且利用據(jù)記錄,也可以使用子查詢刪除指定條件的數(shù)據(jù),而且利用MySQL5.0數(shù)據(jù)庫(kù)的用戶圖形界面提供的功能還可以向指定數(shù)據(jù)庫(kù)的用戶圖形界面提供的功能還可以向指定的數(shù)據(jù)表中一次刪除多條數(shù)據(jù)記錄。如果數(shù)據(jù)表中的記錄都的數(shù)據(jù)表中一次刪除多條數(shù)據(jù)記錄。如果數(shù)據(jù)表中的記錄都不需要了,也可以使用不需要了,也可以使用DELETE語(yǔ)句將數(shù)據(jù)表中所有

4、的記錄語(yǔ)句將數(shù)據(jù)表中所有的記錄都刪除掉。這一節(jié)就來(lái)介紹使用都刪除掉。這一節(jié)就來(lái)介紹使用DELETE語(yǔ)句在數(shù)據(jù)表中刪語(yǔ)句在數(shù)據(jù)表中刪除數(shù)據(jù)的方法。除數(shù)據(jù)的方法。14.1.1 14.1.1 刪除滿足條件數(shù)據(jù)記錄刪除滿足條件數(shù)據(jù)記錄使用使用DELETE語(yǔ)句可以在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)語(yǔ)句可以在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄。使用記錄。使用DELETE語(yǔ)句在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄語(yǔ)句在數(shù)據(jù)表中刪除滿足條件數(shù)據(jù)記錄的語(yǔ)法格式如下:的語(yǔ)法格式如下:DELETE FROM table_nameWHERE condition其中,其中,DELETE FROM表示在數(shù)據(jù)表中刪除數(shù)據(jù)記錄表示在數(shù)據(jù)表中刪除數(shù)

5、據(jù)記錄的關(guān)鍵字;的關(guān)鍵字;table_name表示表的名字;表示表的名字; WHERE子句后的子句后的condition用來(lái)指定查詢限制條件。用來(lái)指定查詢限制條件。注意:使用注意:使用DELETE語(yǔ)句執(zhí)行數(shù)據(jù)表的刪除操作時(shí),語(yǔ)句執(zhí)行數(shù)據(jù)表的刪除操作時(shí),不需要指定數(shù)據(jù)列的名字,因?yàn)椴恍枰付〝?shù)據(jù)列的名字,因?yàn)镈ELETE語(yǔ)句執(zhí)行的操作是語(yǔ)句執(zhí)行的操作是刪除數(shù)據(jù)表中某一行的記錄,而不是刪除某一個(gè)單獨(dú)的列的刪除數(shù)據(jù)表中某一行的記錄,而不是刪除某一個(gè)單獨(dú)的列的記錄。記錄。14.1.1 14.1.1 刪除滿足條件數(shù)據(jù)記錄刪除滿足條件數(shù)據(jù)記錄例例14.1 刪除學(xué)生信息表中學(xué)生編號(hào)為刪除學(xué)生信息表中學(xué)生編號(hào)

6、為s286666的學(xué)生的學(xué)生記錄記錄DELETE FROM T_studentWHERE stuID=s28666614.1.2 14.1.2 在定義有外鍵約束的表中在定義有外鍵約束的表中刪除數(shù)據(jù)記錄刪除數(shù)據(jù)記錄向定義有外鍵約束的表中刪除數(shù)據(jù)記錄時(shí),其刪除的向定義有外鍵約束的表中刪除數(shù)據(jù)記錄時(shí),其刪除的數(shù)據(jù)記錄需要滿足外鍵約束條件。例如,對(duì)于成績(jī)信息表數(shù)據(jù)記錄需要滿足外鍵約束條件。例如,對(duì)于成績(jī)信息表T_result,該表中定義了一個(gè)指向?qū)W生信息表的外鍵約束,該表中定義了一個(gè)指向?qū)W生信息表的外鍵約束,其刪除方式(其刪除方式(ON DELETE)和刪除方式()和刪除方式(ON UPDATE)都是

7、都是RESTRICT。如果在學(xué)生信息表。如果在學(xué)生信息表T_result中刪除學(xué)生編中刪除學(xué)生編號(hào),則數(shù)據(jù)庫(kù)管理系統(tǒng)會(huì)報(bào)錯(cuò),拒絕執(zhí)行刪除操作。號(hào),則數(shù)據(jù)庫(kù)管理系統(tǒng)會(huì)報(bào)錯(cuò),拒絕執(zhí)行刪除操作。14.1.2 14.1.2 在定義有外鍵約束的表中在定義有外鍵約束的表中刪除數(shù)據(jù)記錄刪除數(shù)據(jù)記錄例例14.2 在學(xué)生信息表中刪除學(xué)生編號(hào)在學(xué)生信息表中刪除學(xué)生編號(hào)DELETE FROM T_studentWHERE stuID=s20636314.1.3 14.1.3 使用子查詢刪除指定條件的數(shù)據(jù)記錄使用子查詢刪除指定條件的數(shù)據(jù)記錄在在DELETE語(yǔ)句中,也可以使用子查詢刪除數(shù)據(jù)。使語(yǔ)句中,也可以使用子查詢刪

8、除數(shù)據(jù)。使用用DELETE語(yǔ)句在數(shù)據(jù)表中刪除刪除指定條件的數(shù)據(jù)記錄的語(yǔ)句在數(shù)據(jù)表中刪除刪除指定條件的數(shù)據(jù)記錄的語(yǔ)法格式如下語(yǔ)法格式如下 DELETE FROM table_nameWHERE subquery其中,其中,DELETE表示向數(shù)據(jù)表刪除數(shù)據(jù)記錄的關(guān)鍵字表示向數(shù)據(jù)表刪除數(shù)據(jù)記錄的關(guān)鍵字;table_name表示表的名字;表示表的名字;WHERE子句用來(lái)指定查詢條子句用來(lái)指定查詢條件,這里指定查詢條件可以是一個(gè)子查詢語(yǔ)句。件,這里指定查詢條件可以是一個(gè)子查詢語(yǔ)句。14.1.3 14.1.3 使用子查詢刪除指定條件的數(shù)據(jù)記錄使用子查詢刪除指定條件的數(shù)據(jù)記錄例例14.3 刪除成績(jī)信息表中學(xué)

9、生編號(hào)為刪除成績(jī)信息表中學(xué)生編號(hào)為s102203選修的選修的數(shù)據(jù)庫(kù)基礎(chǔ)課的成績(jī)數(shù)據(jù)庫(kù)基礎(chǔ)課的成績(jī)DELETE FROM T_resultWHERE curID=(SELECT C.curIDFROM T_curriculum CWHERE C.curName = 數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)庫(kù)基礎(chǔ))AND stuID=s10220314.1.4 14.1.4 利用利用MySQL5.0MySQL5.0數(shù)據(jù)庫(kù)一次數(shù)據(jù)庫(kù)一次刪除多條數(shù)據(jù)記錄刪除多條數(shù)據(jù)記錄在在MySQL5.0的用戶圖形界面中,提供了可以一次執(zhí)行的用戶圖形界面中,提供了可以一次執(zhí)行多條多條SQL語(yǔ)句的功能。語(yǔ)句的功能。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語(yǔ)句中,不使用語(yǔ)句中,不使用WHERE子句限制刪除子句限制刪除條件,則表示將指定數(shù)據(jù)表中的所有數(shù)據(jù)記錄全部刪除掉。條件,則表示將指定數(shù)據(jù)表中的所有數(shù)據(jù)記錄全部刪除掉。其語(yǔ)法格式如下:其語(yǔ)法格式如下:DELETE FROM table_name其中,其中,table_name表示數(shù)據(jù)表的名字。使用上面的表示數(shù)據(jù)表的名字。使用上面的DELETE語(yǔ)句,會(huì)將指定數(shù)據(jù)表中的所有記錄

11、全部刪除,但語(yǔ)句,會(huì)將指定數(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語(yǔ)句刪除語(yǔ)句刪除數(shù)據(jù)表中所有記錄數(shù)據(jù)表中所有記錄在在14.1.5小節(jié)中介紹了使用不帶小節(jié)中介紹了使用不帶WHERE子句的子句的DELETE語(yǔ)句刪除數(shù)據(jù)表中所有記錄的方法,除了可以使用語(yǔ)句刪除數(shù)據(jù)表中所有記錄的方法,

12、除了可以使用不帶不帶WHERE子句的子句的DELETE語(yǔ)句刪除數(shù)據(jù)表中所有記錄,語(yǔ)句刪除數(shù)據(jù)表中所有記錄,還可以使用還可以使用TRUNCATE語(yǔ)句來(lái)刪除數(shù)據(jù)表中所有記錄。其語(yǔ)句來(lái)刪除數(shù)據(jù)表中所有記錄。其語(yǔ)法規(guī)則如下:語(yǔ)法規(guī)則如下:TRUNCATE TABLE table_name 其中,其中,TRUNCATE TABLE是表示刪除數(shù)據(jù)表中所有是表示刪除數(shù)據(jù)表中所有記錄的關(guān)鍵字;記錄的關(guān)鍵字;table_name表示要?jiǎng)h除的數(shù)據(jù)表的名字。表示要?jiǎng)h除的數(shù)據(jù)表的名字。14.2 14.2 使用使用TRUNCATETRUNCATE語(yǔ)句刪除語(yǔ)句刪除數(shù)據(jù)表中所有記錄數(shù)據(jù)表中所有記錄雖然功能上與不帶雖然功能上

13、與不帶WHERE子句的子句的DELETE語(yǔ)句的功能語(yǔ)句的功能相同,但是它與相同,但是它與DELETE語(yǔ)句還是有些區(qū)別的。語(yǔ)句還是有些區(qū)別的。DELETE語(yǔ)句在刪除一個(gè)數(shù)據(jù)行之前,需要在事務(wù)處理語(yǔ)句在刪除一個(gè)數(shù)據(jù)行之前,需要在事務(wù)處理日志中記錄相關(guān)操作,一旦刪除失敗,可以通過(guò)日志中記錄相關(guān)操作,一旦刪除失敗,可以通過(guò)ROLLBACK(回滾),而(回滾),而TRUNCATE語(yǔ)句在刪除數(shù)據(jù)表時(shí)語(yǔ)句在刪除數(shù)據(jù)表時(shí)不會(huì)操作事務(wù)處理日志中的記錄,一旦刪除失敗,也不會(huì)執(zhí)不會(huì)操作事務(wù)處理日志中的記錄,一旦刪除失敗,也不會(huì)執(zhí)行行ROLLBACK(回滾)操作。(回滾)操作。DELETE語(yǔ)句是對(duì)數(shù)據(jù)記錄一行一行的執(zhí)

14、行刪除操作,語(yǔ)句是對(duì)數(shù)據(jù)記錄一行一行的執(zhí)行刪除操作,刪除的速度較慢;而刪除的速度較慢;而TRUNCATE語(yǔ)句在刪除數(shù)據(jù)表時(shí)是一語(yǔ)句在刪除數(shù)據(jù)表時(shí)是一次性將與數(shù)據(jù)表有關(guān)的所有記錄刪除,其刪除速度要比使用次性將與數(shù)據(jù)表有關(guān)的所有記錄刪除,其刪除速度要比使用DELETE語(yǔ)句刪除記錄的速度快。語(yǔ)句刪除記錄的速度快。14.2 14.2 使用使用TRUNCATETRUNCATE語(yǔ)句刪除語(yǔ)句刪除數(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語(yǔ)句刪語(yǔ)句刪除一條數(shù)據(jù)記錄。對(duì)視圖中數(shù)據(jù)的刪除操作,最終轉(zhuǎn)化為數(shù)除一條數(shù)據(jù)記錄。對(duì)視圖中數(shù)據(jù)的刪除操作,最終轉(zhuǎn)化為數(shù)據(jù)表中數(shù)據(jù)的刪除操作。但是向視圖刪除一條數(shù)據(jù)記錄時(shí),據(jù)表中數(shù)據(jù)的刪除操作。但是向視圖刪除一條數(shù)據(jù)記錄時(shí),除了像數(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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論