首頁  >  文章  >  資料庫  >  mysql delete多表連接刪除功能的範例程式碼詳解

mysql delete多表連接刪除功能的範例程式碼詳解

黄舟
黄舟原創
2017-03-15 17:16:081416瀏覽

這篇文章主要介紹了mysql delete 多表連接刪除功能的相關資料,需要的朋友可以參考下

##單一表的刪除:

DELETE FROM tableName WHERE columnName = value;
删除表内的所有行:
即:保留表的结构、属性、索引
DELETE FROM tablename;
DELETE * FROM tablename;

刪除同一張表內的所有內容(刪除資料、表格結構)

TRUNCATE customer;

無法報告刪除了幾行,且只能用於單一表格

多表連接刪除:

DELETE orders,itrms FROM orders,items 
  WHERE orders.userid = items.userid
  AND orders.orderid = items.orderid
  AND orders.date<"2000/03/01";

需要刪除的表的名稱列在DELETE之後,連接條件所用的表列在FROM之後

假設刪除BV地區的所有葡萄酒場,但不刪除地名

DELETE winery FROM region,winery 
  WHERE winery.regionid = region.regionid
  AND region.regionname = &#39;BV&#39;;

查詢只影響winery表,但同時利用winery,region找出需要刪除的記錄

使用高級連接查詢

DELETE orders,items FROM orders
  INNER JOIN otems ON orders.orderid = items.orderid
  AND orders.userid = items.userid
  WHERE orders.date<"2000/03/01";

也可在DELETE語句中使用巢狀查詢(內部查詢不可引用刪除的資料)、GROUP BY、HAVING;

也可在單一表格查詢中使用ORDER BY,單數除非與LIMIT連用刪除部分資料行,否則並無太大意義。

加上quick修飾符,可快速刪除索引項,加速大量或頻繁的刪除操作

DELETE QUICK FROM customer WHERE userid<10;

只可用於類型為MyISAM的表

清理MyISAM的表

OPTIMIZE TABLE customer;

以上是mysql delete多表連接刪除功能的範例程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn