ホームページ  >  記事  >  データベース  >  SQL コマンドの delete と truncate の違いは何ですか?

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

青灯夜游
青灯夜游オリジナル
2019-02-20 10:47:064246ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る