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

MySQLの行を削除するにはクエリを削除します

    このチュートリアルは、MySQLを使用した基本的なSQLクエリの学習シリーズの一部です。このチュートリアルでは、MySQLでテーブルの行またはデータを削除するSQLクエリについて説明します。

    クエリの削除

    コマンドDELETE テーブルの行を削除または削除するために使用できます。 DELETEコマンドは元に戻せないため、慎重に使用する必要があります。データベースにリモートでログインしている場合は、テーブルから行を削除するために、テーブルに対するDELETE特権も必要になります。

    # DELETE - Syntax
    DELETE FROM `table_name` WHERE <single or multiple filter conditions>;

    クエリの説明

    MySQLコマンドDELETE テーブルの名前が必須で、WHERE句がオプションの場合、指定されたテーブル名の行またはデータを削除するために使用できます。

    行を削除する資格を得るには、WHERE句を使用して少なくとも1つの条件を指定する必要があります。そうしないと、テーブル全体が消去されます。テーブルのすべての行取得 条件なしで削除されました。

    このセクションでは、DELETEコマンドを使用してテーブルの行を削除する例を示します。以下のクエリを使用して、ID、名、姓、およびユーザーデータを格納するアクティブな列を持つユーザーテーブルを作成します。

    # Create the User Table
    CREATE TABLE `enterprise`.`user` (
    `user_id` BIGINT NOT NULL,
    `first_name` VARCHAR(45) ,
    `last_name` VARCHAR(45),
    `active` TINYINT(1) NOT NULL DEFAULT 0,
    PRIMARY KEY (`user_id`));

    下記のクエリを使用して、ユーザーテーブルにデータを挿入できます。

    # Insert Rows - All Columns
    INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
    ( 1, 'John', 'Smith', 1 ),
    ( 2, 'Rick', 'Jones', 1 ),
    ( 3, 'Catherine', 'Ponting', 0 ),
    ( 4, 'Harsh', 'Upadhyay', 1 ),
    ( 5, 'Tajwinder', 'Singh', 0 );

    上記のクエリは、5つの異なるユーザーを表すために、ID、名、姓、およびアクティブな列を持つ5つの行をテーブルに挿入します。

    次に、userテーブルに挿入されたデータを削除します。以下に示すように、DELETEコマンドを使用して実行できます。

    # DELETE - Delete all the inactive users
    DELETE FROM `user` WHERE `active` = 0;

    # Result
    1 John Smith 1
    2 Rick Jones 1
    4 Harsh Upadhyay 1


    # DELETE - Remove selective users
    DELETE FROM `user` WHERE `user_id` = 1;
    DELETE FROM `user` WHERE `user_id` IN( 2, 4 );

    # Result - All rows deleted

    上記のクエリは、WHERE句を使用してユーザーテーブルから行を削除します。行が指定された条件を満たす場合、テーブルの行は削除されます。

    ここで、もう一度INSERTクエリを実行して、テストデータを挿入します。以下に示すように、複数の条件を使用して行を削除することもできます。

    # DELETE - Delete inactive users using first name
    DELETE FROM `user` WHERE `first_name` = 'Catherine' AND `active` = 0;

    # Result
    1 John Smith 1
    2 Rick Jones 1
    4 Harsh Upadhyay 1
    5 Tajwinder Singh 0

    これが、MySQLテーブルに保存されているデータを削除する方法です。


    1. SQLServerの動的ピボット列

    2. MySQLデータベースのディスク容量が不足しています

    3. SQLServerのストアドプロシージャからパラメータのリストを取得するにはどうすればよいですか

    4. 既存のデータでPostgreSQLコンテナを使用するにはどうすればよいですか?