sql >> データベース >  >> RDS >> Database

SQLで行を削除する方法

    問題:

    テーブルから1行を削除したい。

    例1:

    exam 表には、学生の名前と試験の結果があります。

    name 結果
    Janet Morgen 9
    タヤベイン 11
    アンジョンソン 11
    Josh Kaur 10
    エレンソーントン 8

    エレンソーントンの行を削除したい。

    ソリューション1:

    DELETE FROM exam
    WHERE name = 'Ellen Thornton';
    

    テーブルexam 今は次のようになっています:

    name 結果
    Janet Morgen 9
    タヤベイン 11
    アンジョンソン 11
    Josh Kaur 10

    ディスカッション:

    DELETE FROMを使用します 行を削除するテーブルの名前。 WHERE 、行を指定する条件を記述します。特定の行を念頭に置いている場合は、一意の値を含む列を使用して条件を記述するのが最適です。ここで、一意の列はnameです。 。

    名前が'Ellen Thorntonと等しい行が多数ある場合 '、それらはすべて削除されます。そのような名前がない場合、行は削除されません。

    例2:

    exam 表には、前の例と同じように、学生の名前と試験の結果があります。

    name 結果
    Janet Morgen 9
    タヤベイン 11
    アンジョンソン 11
    Josh Kaur 10
    エレンソーントン 8

    resultの対象となるすべての行を削除する 10より大きい 。

    ソリューション2:

    DELETE FROM exam
    WHERE result > 10;
    

    exam テーブルは次のようになります:

    name 結果
    Janet Morgen 9
    Josh Kaur 10
    エレンソーントン 8

    ディスカッション:

    削除する必要のある正確な行や、削除する必要のある行の数さえわからない場合があります。行を削除する条件を記述できます。条件を満たす行が多数ある場合もあれば、1行だけの場合もあれば、行がまったくない場合もあります。

    もちろん、WHEREで複数の条件を書くことができます 、ANDでそれらを結合します またはOR 、例:

    DELETE FROM exam
    WHERE result > 10
      AND name LIKE 'J%';
    

    1. MySQL用のPerconaサーバーの監視-主要なメトリック

    2. 高度なSQL:T-SQL挿入ステートメントのバリエーションとさまざまなユースケース

    3. Ubuntu12.04でphpMyAdminを使用してMySQLをインストールする方法

    4. SQL Server(T-SQL)でデータベースメールの構成設定を確認する方法