回覆列表
  • 1 # 努力先生888

    請注意 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 是一行一行的刪除,速度很慢。

  • 中秋節和大豐收的關聯?
  • Python名稱空間和全域性變數問題,怎麼解決?