MySQL培訓(xùn)教程:刪除數(shù)據(jù)命令
最新學(xué)訊:近期OCP認(rèn)證正在報(bào)名中,因考試人員較多請盡快報(bào)名獲取最近考試時間,報(bào)名費(fèi)用請聯(lián)系在線老師,甲骨文官方認(rèn)證,報(bào)名從速!
我要咨詢MySQL培訓(xùn)教程:刪除數(shù)據(jù)命令,可以使用DELETE語句刪除指定的數(shù)據(jù)行。例如,因?yàn)槲覀円褯Q定不再出售《HarryPotter》(哈里波特)的系列作品,于是從books表中刪除了作者為J.K.Rowling的所有圖書記錄,我們可以輸入下列語句完成這項(xiàng)工作:
- DELETE FROM books
- WHERE author_id =
- (SELECT authors.author_id FROM authors
- WHERE author_last = 'Rowling'
- AND author_?rst = 'J. K.');
- DELETE FROM authors
- WHERE author_last = 'Rowling'
- AND author_?rst = 'J. K.';
在這里,我們僅從books表中刪除了一行記錄,該行的作者標(biāo)識碼為從authors表中獲取的任意值,這個值基于指定的作者姓名。也就是說,author_id必須是由SELECT語句返回的任意值,圓括號中的是子查詢語句。MySQL4.1版本或更新的版本支持語句中的子查詢操作。如果你想使用早期的MySQL版本刪除上面的數(shù)據(jù),需要將圓括號中的SELECT語句單獨(dú)執(zhí)行(而不是作為子查詢語句執(zhí)行)來獲取作者的標(biāo)識碼,然后再運(yùn)行第一行的DELETE語句,在語句的結(jié)尾處將附加的SELECT語句手工替換成作者標(biāo)識碼。
你也可以使用用戶自定義變量替換上面的SQL語句。下面是使用用戶自定義變量的示例:
- SET @potter =
- (SELECT author_id FROM authors
- WHERE author_last = 'Rowling'
- AND author_?rst = 'J. K.');
- DELETE FROM books
- WHERE author_id = @potter;
- DELETE FROM authors
- WHERE author_id = @potter;
在第一部分,本書使用SET語句創(chuàng)建一個名為@potter的變量,并將括號中的SELECT語句作為值賦給此變量。順便提及,盡管MySQL4.1以及以前的版本不支持子查詢,但支持用戶自定義變量。第二條SQL語句從books表中刪除一行記錄,該行的作者標(biāo)識碼與臨時變量中的值相同。下面仍舊使用臨時變量從authors表中刪除數(shù)據(jù)。MySQL在關(guān)閉會話或?qū)ψ兞恐匦沦x值以前,可以一直使用用戶自定義變量。
- 冉乃綱-老師CUUG金牌講師
- 冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細(xì)了解老師]

- 陳衛(wèi)星-老師CUUG金牌講師
- 陳老師 CUUG金牌講師 精通Oracle管理、備份恢復(fù)、性能優(yōu)化 11年Ora...[詳細(xì)了解老師]
