ホームページ >データベース >mysql チュートリアル >データテーブル内のデータを削除する方法
方法: 1. DELETE ステートメントを使用して、テーブル内の 1 行以上のデータを削除します。構文は「DELETE FROM テーブル名 [WHERE 句]」です。「WHERE 句」を省略した場合は、テーブル内のすべてのデータを削除できます。 2. 「TRUNCATE TABLE テーブル名;」ステートメントを使用して、テーブル内のすべてのデータを削除します。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL には、テーブル内のデータを削除するための DELETE および TRUNCATE キーワードが用意されています。
1. DELETE ステートメント
DELETE ステートメントは、テーブル内の 1 つ以上のデータ行を削除できます。構文形式:
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
構文の説明は次のとおりです:
: データを削除するテーブルの名前を指定します。
ORDER BY 句: オプション。削除時に、テーブル内の行が句で指定された順序で削除されることを示します。
WHERE 句: オプション。削除操作の削除条件を制限することを示します。この句を省略すると、表内のすべての行が削除されます。
LIMIT 句: オプション。制御コマンドがクライアントに返される前に削除する最大行数をサーバーに伝えるために使用されます。
注: WHERE 条件を使用しない場合、すべてのデータが削除されます。
例: テーブル内のすべてのデータを削除します
mysql> DELETE FROM tb_courses_new; Query OK, 3 rows affected (0.12 sec) mysql> SELECT * FROM tb_courses_new; Empty set (0.00 sec)
2. TRUNCATE ステートメント
TRUNCATE キーワードは、テーブルを完全にクリアするために使用されます。 。構文形式は次のとおりです。
TRUNCATE [TABLE] 表名
TABLE キーワードは省略できます。
例: テーブル内のすべてのデータを削除します
mysql> TRUNCATE TABLE tb_student_course; Query OK, 0 rows affected (0.04 sec) mysql> SELECT * FROM tb_student_course; Empty set (0.00 sec)
(推奨チュートリアル: mysql ビデオ チュートリアル)
TRUNCATE と DELETE の違い
論理的に言えば、TRUNCATE ステートメントは DELETE ステートメントと同じ効果がありますが、場合によっては使用方法が異なることがあります。
DELETE は DML タイプのステートメントであり、TRUNCATE は DDL タイプのステートメントです。どちらもテーブル内のデータをクリアするために使用されます。
DELETE はレコードを行ごとに削除します。TRUNCATE は元のテーブルを直接削除し、テーブル内のデータを行ごとに削除する代わりに同一の新しいテーブルを作成します。DELETE よりも高速にデータを実行します。したがって、テーブル内のすべてのデータ行を削除する必要がある場合は、TRUNCATE ステートメントを使用して実行時間を短縮してください。
DELETE データを削除した後、イベント ロールバックを使用してデータを取得できます。TRUNCATE はトランザクション ロールバックをサポートしていないため、削除後にデータを取得することはできません。
DELETE データを削除した後、システムは自動インクリメント フィールドのカウンターをリセットしません。TRUNCATE がテーブル レコードをクリアした後、システムは自動インクリメント フィールドのカウンターをリセットします。 。
DELETE は、WHERE 句で条件を指定してデータの一部を削除できるため、使用範囲が広くなります。TRUNCATE は WHERE 句をサポートしておらず、データ全体を削除することしかできません。
DELETE は削除されたデータの行数を返しますが、TRUNCATE は 0 のみを返しますが、これは意味がありません。
プログラミング関連の知識について詳しくは、プログラミング ビデオをご覧ください。 !
以上がデータテーブル内のデータを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。