sql多表刪除
delete from 表--刪除數據,記錄日誌,耗時較長
truncate table 表--刪除數據,不記錄日誌,刪除較快
drop table 表--刪除數據,刪除表
Ⅱ 資料庫,資料庫sql命令,刪除多表關聯索引數據
這么個問題,要寫好多語句的,都沒有分的。
首先,你的表肯定是做了外鍵等約束的,所以刪除,要從最外層刪除。假設你的資料庫是Sql Server的。
1、技能表
delete from 技能表 where 人物id in (select 人物id from 人物表 where 賬號id in (select 賬號id from 賬號表 where datediff(day,上次登錄時間lasttime,getdate())>=3))
2、裝備屬性表
delete from 裝備屬性表 where 裝備id in (select 裝備id from 裝備表 where 人物id in (select 人物id from 人物表 where 賬號id in (select 賬號id from 賬號表 where datediff(day,上次登錄時間lasttime,getdate())>=3)))
3、裝備表
delete from 裝備表 where 人物id in (select 人物id from 人物表 where 賬號id in (select 賬號id from 賬號表 where datediff(day,上次登錄時間lasttime,getdate())>=3))
4、人物表
delete from 人物表 where 賬號id in (select 賬號id from 賬號表 where datediff(day,上次登錄時間lasttime,getdate())>=3)
5、賬號表
delete from 賬號表 where datediff(day,上次登錄時間lasttime,getdate())>=3
Ⅲ 如何用一條sql語句清空多張表中的記錄請各位大神幫忙
不支持同時update、delete、truncate多張表,只能一個一個的操作
可以寫一個游標,逐步執行delete操作
Ⅳ sql刪除多表多條件
delete from c where 收款單編號 in
(select 收款單編號 from b where id in
(select 計費id from a where 計費日期>='2012-07-01' and 計費日期<'2012-08-01'));
delete from b where id in
(select 計費id from a where 計費日期>='2012-07-01' and 計費日期<'2012-08-01') ;
delete from a where 計費日期>='2012-07-01' and 計費日期<'2012-08-01' ;
commit;