MySQL基礎(chǔ)知識——DELETE
點擊關(guān)注上方“SQL數(shù)據(jù)庫開發(fā)”,
設(shè)為“置頂或星標”,第一時間送達干貨
DELETE 作用
DELETE語句用于刪除表中現(xiàn)有記錄。
DELETE 語法
DELETE FROM table_name WHERE condition;
請注意 |
示例數(shù)據(jù)庫
以下是?"Customers"?表中的數(shù)據(jù):

DELETE 實例
在刪除之前我們還是先復(fù)制一個臨時表customers_copy,具體方法在update篇章中介紹過,將Customers表中的數(shù)據(jù)放到臨時表中,這樣我們就得到一張與customers表一模一樣的表了。
假設(shè)我們想從"customers_copy"?表中姓名為“張三”的客戶。
我們使用以下SQL語句:
DELETE?FROM?customers_copy
WHERE?姓名='張三';現(xiàn)在,"#Customers" 表如下所示:

我們看到姓名為張三的客戶已經(jīng)被刪除了。
刪除所有數(shù)據(jù)
您可以刪除表中的所有行,而不需要刪除該表。這意味著表的結(jié)構(gòu)、屬性和索引將保持不變:
DELETE FROM table_name;
我們將customers_copy表中的剩余數(shù)據(jù)全部刪除
DELETE?FROM?customers_copy結(jié)果如下:

我們看到表里面所有數(shù)據(jù)都被刪除了。
注意:如果想更快的刪除表里的所有數(shù)據(jù)可以使用TRUNCATE
更新和刪除原則
除非確實打算更新和刪除每一行,否則絕對不要使用不帶WHERE句的UPDATE或DELETE語句。
對UPDATE或DELETE語句使用WHERE子句前,應(yīng)該先用SELECT進行測試,保證它過濾的是正確的記錄,以防編寫的WHERE子句不正確。
用強制實施引用完整性的數(shù)據(jù)庫,這樣MySQL將不允許刪除具有與其他表相關(guān)聯(lián)的數(shù)據(jù)的行。
——End——
后臺回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨 后臺回復(fù)關(guān)鍵字:進群,帶你進入高手如云的交流群。 推薦閱讀
SQL 語句中 where 條件后 寫上1=1 是什么意思 國產(chǎn)數(shù)據(jù)庫建模工具,看到界面第一眼,良心了! 快手公司廁所裝坑位計時器,網(wǎng)友:再也不能帶薪拉屎了! 如何優(yōu)雅地給妹子優(yōu)化電腦? 最全MySQL面試題集合 這是一個能學(xué)到技術(shù)的公眾號,歡迎關(guān)注
點擊「閱讀原文」了解SQL訓(xùn)練營
