mysql 一條sql刪除兩個表


單個表的刪除:

DELETE FROM tableName WHERE columnName = value; 
刪除表內的所有行: 
即:保留表的結構、屬性、索引 
DELETE FROM tablename; 
DELETE * FROM tablename; 
刪除同一張表內的所有內容(刪除數據、表結構)

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

多表連接刪除:

DELETE orders,items 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 = ‘BV’; 
查詢只影響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; 

 

來自:https://blog.csdn.net/u013043762/article/details/80238372


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM