SQLデータベースのデータクイック削除方法
これを使って、ヒヒ、本編は次の編の準備に・・・
構文
パラメータ
name
は、トランケートするテーブルの名前またはすべてのローを削除するテーブルの名前です.
コメント
TRUNCATE TABLEは、WHERE句を持たないDELETE文と機能的に同じです.両方ともテーブルのすべての行を削除します.ただし、TRUNCATE TABLEはDELETEよりも高速で、システムやトランザクション・ログ・リソースが少ない.
DELETE文は、ローを1つずつ削除し、削除したローごとにトランザクション・ログに記録します.TRUNCATE TABLEは、テーブルデータを格納するために使用されるデータ・ページを解放することによってデータを削除し、トランザクション・ログにのみページの解放を記録する.
TRUNCATE TABLEは、テーブル内のすべてのローを削除しますが、テーブル構造とそのカラム、制約、インデックスなどは変更されません.新しいローIDで使用されるカウント値がカラムのシードにリセットされます.IDカウント値を保持したい場合は、DELETEに変更してください.テーブル定義とそのデータを削除する場合は、DROP TABLE文を使用します.
FOREGN KEY制約で参照されるテーブルでは、TRUNCATE TABLEではなく、WHERE句を持たないDELETE文を使用します.TRUNCATE TABLEはログに記録されていないため、トリガをアクティブにすることはできません.
TRUNCATE TABLEは、インデックスビューに関連付けられたテーブルには使用できません.
例
次の例ではauthorsテーブルのすべてのデータを削除します.
アクセス権
TRUNCATE TABLE権限デフォルトでは、テーブル所有者、sysadmin固定サーバロールメンバー、db_ownerとdb_ddladminは、データベース・ロール・メンバーを固定し、譲渡できません.
構文
TRUNCATE TABLE name
パラメータ
name
は、トランケートするテーブルの名前またはすべてのローを削除するテーブルの名前です.
コメント
TRUNCATE TABLEは、WHERE句を持たないDELETE文と機能的に同じです.両方ともテーブルのすべての行を削除します.ただし、TRUNCATE TABLEはDELETEよりも高速で、システムやトランザクション・ログ・リソースが少ない.
DELETE文は、ローを1つずつ削除し、削除したローごとにトランザクション・ログに記録します.TRUNCATE TABLEは、テーブルデータを格納するために使用されるデータ・ページを解放することによってデータを削除し、トランザクション・ログにのみページの解放を記録する.
TRUNCATE TABLEは、テーブル内のすべてのローを削除しますが、テーブル構造とそのカラム、制約、インデックスなどは変更されません.新しいローIDで使用されるカウント値がカラムのシードにリセットされます.IDカウント値を保持したい場合は、DELETEに変更してください.テーブル定義とそのデータを削除する場合は、DROP TABLE文を使用します.
FOREGN KEY制約で参照されるテーブルでは、TRUNCATE TABLEではなく、WHERE句を持たないDELETE文を使用します.TRUNCATE TABLEはログに記録されていないため、トリガをアクティブにすることはできません.
TRUNCATE TABLEは、インデックスビューに関連付けられたテーブルには使用できません.
例
次の例ではauthorsテーブルのすべてのデータを削除します.
TRUNCATE TABLE authors
アクセス権
TRUNCATE TABLE権限デフォルトでは、テーブル所有者、sysadmin固定サーバロールメンバー、db_ownerとdb_ddladminは、データベース・ロール・メンバーを固定し、譲渡できません.