ホームページ >データベース >mysql チュートリアル >テーブルデータを削除するSQLとは何ですか?
1, SQL の文法を削除します
# 1, Drop Table テーブル名 例: Drop Table DBO.Sys_test
2, Truncate Table テーブル名 例: Truncate Table Dbo. Sys_test truncate と delete の違い
1. ドロップ (テーブルの削除): コンテンツと定義を削除して領域を解放します。簡単に言うとテーブル全体を削除することで、新しいテーブルを追加しない限り、今後データを追加することができなくなります。
ドロップ ステートメントは、テーブル構造が依存する制約とトリガー インデックスを削除します。テーブルに依存するストアド プロシージャ/関数は保持されますが、ステータスは :invalid になります。2. 切り捨て (テーブル内のデータをクリア): コンテンツを削除し、領域を解放しますが、定義は削除しません (テーブルのデータ構造は保持します)。ドロップとは異なり、テーブルデータをクリアするだけです。
注: truncate では行データを削除できません。削除するには、テーブルをクリアする必要があります。 3. delete (テーブル内のデータを削除): delete ステートメントは、テーブル内の行を削除するために使用されます。 delete ステートメントは、テーブルから 1 行ずつ削除する削除処理を実行します。同時に、行の削除操作はトランザクション レコード # としてログに保存されるため、ロールバック操作は実行されません。実行することができます。 どこを指定しない切り捨てと削除: データのみを削除しますが、テーブルの構造 (定義) は削除しません 4. テーブルの切り捨ては、テーブル内のすべての行を削除しますが、テーブル構造とその行は削除されます。列、制約、インデックスなどは変更されません。新しい行を識別するために使用されるカウントは、その列のシードにリセットされます。 ID カウント値を保持したい場合は、代わりに削除を使用してください。 テーブル定義とそのデータを削除する場合は、drop table ステートメントを使用してください。5. 外部キー制約によって参照されるテーブルの場合、truncate table は使用できませんが、where 句のない delete ステートメントを使用する必要があります。 truncate table はログに記録されるため、トリガーをアクティブにすることはできません。
6. 実行速度、一般的に言えば、drop> truncate > delete。
7. 削除ステートメントはデータベース操作言語 (dml) です。この操作はロールバック セグメントに配置され、トランザクションが送信された後にのみ有効になります。対応するトリガーがある場合は、実行中にトリガーされます。
Truncate と Drop はデータベース定義言語 (DDL) です。操作はすぐに有効になります。元のデータはロールバック セグメントに置かれないため、ロールバックできません。この操作はトリガーをトリガーしません。
以上がテーブルデータを削除するSQLとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。