ホームページ > データベース > mysql チュートリアル > SQL コマンドの delete と truncate の違いは何ですか?

SQL コマンドの delete と truncate の違いは何ですか?

青灯夜游
リリース: 2019-02-20 10:47:06
オリジナル
4293 人が閲覧しました

delete コマンドと truncate コマンドはどちらも SQL でデータ (レコード) を削除するために使用できますが、両者の違いは何ですか?次の記事では、delete コマンドと truncate コマンドの違いについて説明します。ご参考になれば幸いです。

SQL コマンドの delete と truncate の違いは何ですか?

#削除コマンドとは何ですか?

delete コマンドは、データベース内のテーブルからレコードを削除するのに役立ちます。 [ビデオチュートリアルの推奨事項:

MySQL チュートリアル]

例: 次の学生テーブルには、student_id、name、marks の 3 つのフィールドが含まれています。


SQL コマンドの delete と truncate の違いは何ですか?

SQL delete コマンドを使用して、student テーブル内のすべてのレコードを削除できます:

delete from student;
ログイン後にコピー

また、student テーブル内の特定のレコードを削除することもできます:

delete from student where student_id =2;
ログイン後にコピー

上記の SQLこのコマンドは、student_id 2 のレコードを削除します。このステートメントを実行すると、テーブルには、student_id 1 と 3 のレコードの 2 つのレコードのみが含まれます。

truncate コマンドとは何ですか?

truncate コマンドは、テーブルからすべてのレコードを削除するのに役立ちます。また、データベースからテーブル構造も削除されます。したがって、truncate コマンドが特定のテーブルで実行されると、主キーも初期化されます。

次の SQL コマンドは、student テーブル内のすべてのレコードを削除します。さらに、データベースからテーブル構造が削除されます。

truncate table student;
ログイン後にコピー

delete コマンドと truncate コマンドの違いは何ですか?

1. コマンド タイプ

delete はデータ操作言語 (DML) コマンドであり、truncate はデータ定義言語 (DDL) コマンドです。 。

2. 機能

delete コマンドは、指定された SQL ステートメントに従ってテーブルから 1 つ、複数、またはすべてのレコードを削除します。一方、truncate コマンドはテーブルからすべてのレコードを削除します。データベースとテーブル構造。

3. Where 句

delete コマンドは WHERE 句をサポートしており、WHERE 句を DELETE とともに使用して、コマンドの WHERE 句をフィルタリングおよび削除できます。サポートされていません。

4. ロック

delete コマンドは行レベルのロックを使用し、truncate コマンドはテーブル レベルのロックを使用して削除します。テーブル全体をロックしてすべてのレコードを削除します。

5. インデックス付きビュー

delete コマンドはインデックス付きビューで使用できますが、truncate コマンドはインデックス付きビューでは使用できません。

6. 実行速度

削除コマンドはログを保持するため、非常に速度が遅くなります。ただし、truncate コマンドはトランザクション ログに最小限のログ レコードを保持するため、より高速に実行されます。

7. テーブル構造

delete コマンドはテーブル構造に影響を与えませんが、truncate コマンドはデータベースからテーブル構造を削除します。

8. トランザクション スペース

delete コマンドは、truncate コマンドよりも多くのトランザクション スペースを使用します。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がSQL コマンドの delete と truncate の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート