Ⅰ 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。
(1)如何篩選去掉的數據不能再復位擴展閱讀:
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 。