請注意 SQL DELETE 語句中的 WHERE 子句!WHERE 子句規定哪條記錄或者哪些記錄需要刪除。如果您省略了 WHERE 子句,所有的記錄都將被刪除!即您可以在不刪除表的情況下,刪除表中所有的行。這意味著表結構、屬性、索引將保持不變。 二、SQL DROP 語句透過使用 DROP 語句,可以輕鬆地刪除索引、表和資料庫。 (1)DROP INDEX 語句 DROP INDEX 語句用於刪除表中的索引。 (2)DROP TABLE 語句 DROP TABLE 語句用於刪除整個表。同時整個表的結構都被刪除。 (3)DROP DATABASE 語句 DROP DATABASE 語句用於刪除整個資料庫。 三、SQL TRUNCATE 語句如果我們僅僅需要刪除表內的資料,但並不刪除表本身,即表結構及其列、約束、索引等保持不變。可以使用 TRUNCATE TABLE 語句: 四、DELETE 與TRUNCATE 的區別(1)TRUNCATE TABLE 語句與不帶 WHERE 子句的 DELETE 語句作用相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。 (2)DELETE 語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。TRUNCATE TABLE 透過釋放儲存表資料所用的資料頁來刪除資料,並且只在事務日誌中記錄頁的釋放。delete可以返回被刪除的記錄數,而truncate table返回的是0。 (3)對於由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由於 TRUNCATE TABLE 不記錄在日誌中,所以它不能啟用觸發器。 (4)TRUNCATE TABLE 不能用於參與了索引檢視的表。 如果要刪除表中的所有資料,建議使用truncate table,尤其是表中有大量的資料。使用truncate table是將表結構重新建一次,速度要比使用delete 快很多,而delete 是一行一行的刪除,速度很慢。
請注意 SQL DELETE 語句中的 WHERE 子句!WHERE 子句規定哪條記錄或者哪些記錄需要刪除。如果您省略了 WHERE 子句,所有的記錄都將被刪除!即您可以在不刪除表的情況下,刪除表中所有的行。這意味著表結構、屬性、索引將保持不變。 二、SQL DROP 語句透過使用 DROP 語句,可以輕鬆地刪除索引、表和資料庫。 (1)DROP INDEX 語句 DROP INDEX 語句用於刪除表中的索引。 (2)DROP TABLE 語句 DROP TABLE 語句用於刪除整個表。同時整個表的結構都被刪除。 (3)DROP DATABASE 語句 DROP DATABASE 語句用於刪除整個資料庫。 三、SQL TRUNCATE 語句如果我們僅僅需要刪除表內的資料,但並不刪除表本身,即表結構及其列、約束、索引等保持不變。可以使用 TRUNCATE TABLE 語句: 四、DELETE 與TRUNCATE 的區別(1)TRUNCATE TABLE 語句與不帶 WHERE 子句的 DELETE 語句作用相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日誌資源少。 (2)DELETE 語句每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。TRUNCATE TABLE 透過釋放儲存表資料所用的資料頁來刪除資料,並且只在事務日誌中記錄頁的釋放。delete可以返回被刪除的記錄數,而truncate table返回的是0。 (3)對於由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由於 TRUNCATE TABLE 不記錄在日誌中,所以它不能啟用觸發器。 (4)TRUNCATE TABLE 不能用於參與了索引檢視的表。 如果要刪除表中的所有資料,建議使用truncate table,尤其是表中有大量的資料。使用truncate table是將表結構重新建一次,速度要比使用delete 快很多,而delete 是一行一行的刪除,速度很慢。