mysql行を削除する

WBOY
リリース: 2023-05-14 12:27:07
オリジナル
1605 人が閲覧しました

MySQL データベース管理システムは、広く使用されているリレーショナル データベースであり、データベースを操作するための豊富な SQL ステートメントとコマンドのセットを提供します。このうち、DELETE コマンドは、1 つ以上のテーブルの行を削除するために使用できる一般的な操作です。この記事では、MySQLでの行削除の方法や注意点、応用例を紹介します。

1. MySQL の行削除構文

MySQL では、行を削除するための構文は次のとおりです:

DELETE FROM table_name WHERE condition(s);
ログイン後にコピー

このうち、table_name は行を削除するテーブルの名前です。 、条件は次のとおりです。削除する行の条件を除外するには、AND または OR を使用して複数の条件を接続します。

たとえば、student という名前のテーブル内の中学校番号 1001 の行を削除するには、次のステートメントを使用できます:

DELETE FROM student WHERE s_id = 1001;
ログイン後にコピー

2. MySQL での行の削除に関する注意事項

  1. 削除操作は元に戻せないため、使用には注意してください。

削除操作は元に戻せませんので、削除操作を行う前に、削除するデータが正しいか必ず確認してください。一般的には、SELECT ステートメントを使用して、削除するデータが期待どおりであるかどうかを確認してから、DELETE コマンドを実行するのが最善です。

SELECT * FROM student WHERE s_id = 1001;
DELETE FROM student WHERE s_id = 1001;
ログイン後にコピー
  1. WHERE 句の条件は一意である必要があります。

WHERE 句の条件が一意でない場合、複数行のデータが削除されます。したがって、DELETE コマンドを使用する場合は、データの特性に基づいて適切なフィルター条件を選択する必要があり、データを誤って削除しないようにする必要があります。

DELETE FROM student WHERE s_name = '张三';
ログイン後にコピー
  1. 削除操作により、関連する制約とトリガーがトリガーされます。

外部キー制約とトリガーが削除操作に関与している場合、システムは関連する制約とトリガーを自動的にトリガーし、整合性チェックを実行します。削除操作中に整合性ルールに違反した場合、削除操作は終了し、関連するエラー情報が返されます。

  1. 削除操作はシステム リソースを占有し、パフォーマンスに影響を与えます。

多数の削除操作を実行すると、システム リソースが占有され、システムのパフォーマンスとユーザー エクスペリエンスに影響を与える可能性があります。したがって、削除操作によって占有されるリソースをできる限り削減し、削除効率を向上させるために、特定の状況に基づいて適切な削除戦略を選択する必要があります。

3. MySQL での行削除の応用例

次に、MySQL での行削除の応用例をいくつか紹介します。

  1. 空のテーブルの削除

テーブルに有効なデータがなくなった場合は、DELETE コマンドを使用してすべての行を削除し、テーブルをクリアします。たとえば、student という名前のテーブル内のすべての行を削除するには、次のステートメントを使用できます。

DELETE FROM student;
ログイン後にコピー
  1. 条件を満たすデータの一部を削除します

If you特定の条件を満たすテーブル内のデータを削除したい場合は、WHERE 句を使用してフィルタリングできます。たとえば、student という名前のテーブル内のすべての男子学生データを削除するには、次のステートメントを使用できます。

DELETE FROM student WHERE s_gender = 'M';
ログイン後にコピー
  1. 大量のデータを削除します

必要に応じて、大量のデータを一括して削除することで、システム リソースの過剰な占有を避けることができます。たとえば、一度に 1,000 行を削除して、student という名前のテーブル内の失敗した生徒データをすべて削除するには、次のステートメントを使用できます。

WHILE (SELECT COUNT(*) FROM student WHERE s_score < 60) > 0
DO
    DELETE FROM student WHERE s_score < 60 LIMIT 1000;
END WHILE;
ログイン後にコピー
  1. テーブル内の重複データを削除

テーブル内に重複データがある場合は、DELETE ステートメントと ORDER BY ステートメントを使用して重複データを削除できます。たとえば、student という名前のテーブル内の重複した学生データを削除するには、次のステートメントを使用できます。

DELETE FROM student
WHERE s_id NOT IN
(
    SELECT MAX(s_id) FROM student GROUP BY s_name, s_gender, s_age
);
ログイン後にコピー

上記は、MySQL で行を削除する方法、注意事項、および適用例の紹介です。実際の使用では、データの誤削除を回避し、システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、特定の状況に基づいて適切な削除戦略を採用する必要があります。

以上がmysql行を削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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