⑴ sql資料庫中怎麼批量刪除數據總共有1萬多條,一條一條的刪好慢啊~求大俠指點!比如:刪除1-100橫排
DELETEAFROMtalbeNameASA
WHEREEXISTS(SELECT1
FROM(SELECTTOP100IDFROMtalbeName)ASB
WHERE(A.ID=B.ID));
字元類型的ID要復雜些,如果ID是int類型的就更好辦了。
⑵ sql server中如何快速批量刪除表裡的百萬條記錄!直接用delete top(50000)還是有點慢...
刪除大量數據速度碰冊是州爛正常的。
如果表裡面數據都不要了,可以直接truncate
如果表裡面數據只有一小部分要得,可以把小的備份出來,然後冊吵漏truncate表,然後再把備份的數據導回來
如果只是刪除表中部分數據,可以寫成循環小批量刪除腳本;如果伺服器性能好,百萬數據刪除還是很快的
⑶ sql怎麼刪除一個表中的所有數據
刪除表數據有兩種方法:delete和truncate。具體語句如下:
一、RUNCATE TABLE name :
刪除表中的所有行,而不記錄單個行刪除操作。在這個指令之下,表格中的資料會完全消失,可是表格本身會繼續存在。
TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,參數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。
二、Delete from tablename where 1=1
1、delete語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值。
2、刪除所有行:
可以在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的:DELETE FROM table_name。
(3)sql批量刪除多條記錄擴展閱讀:
truncate和delete的共同點及區別:
1、 truncate和 delete只刪除數據不刪除表的結構(定義) 。
2、delete語句是dml,這個操作會放到rollback segement中,事務提交之後才生效;如果有相應的trigger,執行的時候將被觸發。
truncate是ddl, 操作立即生效,原數據不放到rollback segment中,不能回滾. 操作不觸發trigger。
3、delete語句不影響表所佔用的extent, 高水線(high watermark)保持原位置不動 。truncate 語句預設情況下見空間釋放到 minextents個 extent,除非使用reuse storage; truncate會將高水線復位(回到最開始)。
4、速度,一般來說: truncate >delete 。
⑷ plsql批量刪除表中數據
首先,在電腦中找到PLSQL Developer;