MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで特定の値より大きいスコアを持つレコードを削除する方法

MySQLでは、DELETE文とWHERE句を組み合わせることで、特定の値よりも大きい値を持つレコード(行)を簡単に削除できます。本記事では、実際のテーブルを使いながら、その手順を順番に解説します。

手順1:テーブルを作成する

まず、サンプル用のテーブルを作成します。ここでは、プレイヤー名とスコアを管理するテーブルを例にします。

mysql> create table DemoTable
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    PlayerName varchar(100),
    PlayerScore int
);
Query OK, 0 rows affected (0.97 sec)

手順2:テストデータを挿入する

INSERTコマンドを使って、いくつかのレコードを追加します。

mysql> insert into DemoTable(PlayerName,PlayerScore) values('Chris',780);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable(PlayerName,PlayerScore) values('Sam',1100);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable(PlayerName,PlayerScore) values('Mike',900);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(PlayerName,PlayerScore) values('Bob',890);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(PlayerName,PlayerScore) values('Carol',1000);
Query OK, 1 row affected (0.20 sec)

手順3:登録されたデータを確認する

SELECT文で全レコードを表示し、データが正しく登録されているか確認しましょう。

mysql> select *from DemoTable;

実行結果は以下の通りです。

+----+------------+-------------+
| Id | PlayerName | PlayerScore |
+----+------------+-------------+
|  1 | Chris      |         780 |
|  2 | Sam        |        1100 |
|  3 | Mike       |         900 |
|  4 | Bob        |         890 |
|  5 | Carol      |        1000 |
+----+------------+-------------+
5 rows in set (0.00 sec)

手順4:条件を指定してレコードを削除する

ここで、スコアが900より大きいレコードを削除してみます。DELETE文のWHERE句に比較演算子>を使って条件を指定します。

mysql> delete from DemoTable where PlayerScore > 900;
Query OK, 2 rows affected (0.18 sec)

このクエリにより、スコアが1100の「Sam」と1000の「Carol」の2件が削除されました。

ポイント: WHERE句を忘れるとテーブル内の全レコードが削除されてしまうため、必ず条件を指定してください。また、実行前にSELECT文で対象レコードを確認しておくと安全です。

手順5:削除後のデータを確認する

もう一度SELECT文を実行して、削除が正しく行われたか確認します。

mysql> select *from DemoTable;

実行結果は以下の通りです。

+----+------------+-------------+
| Id | PlayerName | PlayerScore |
+----+------------+-------------+
|  1 | Chris      |         780 |
|  3 | Mike       |         900 |
|  4 | Bob        |         890 |
+----+------------+-------------+
3 rows in set (0.00 sec)

まとめ

MySQLで特定の値より大きい値を持つレコードを削除するには、DELETE FROM テーブル名 WHERE カラム名 > 値;という構文を使用します。比較演算子は>以外にも、>=(以上)、<(未満)、<=(以下)なども利用できるため、用途に応じて使い分けると便利です。

  1. JavaでMySQLデータベースのデータを削除する方法|DELETE文の使い方を徹底解説

    MySQLデータベースからデータを削除するには、DELETEコマンドを使用します。まずは基本となる構文を確認しておきましょう。 DELETE文の基本構文 delete from テーブル名 where 条件; WHERE句で条件を指定すると、該当するレコードだけをピンポイントで削除できます。逆に条件を指定しなかった場合、テーブル内の全データが削除されてしまうため、実行前には必ず条件を確認してください。 本記事では、JavaプログラムからMySQLデータベースのデータを削除する具体的な手順を解説します。はじめにサンプル用のテーブルを作成し、テストデータを挿入していきましょう。 サンプルテーブルの

  2. PHPとMySQLでブール値を扱うには?BOOL・BOOLEAN・TINYINT(1)の違いと使い方

    本記事では、MySQL 8.0.12を使用して、ブール(Boolean)値の正しい取り扱い方を解説します。まず、使用しているMySQLのバージョンを確認しておきましょう。 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) MySQLにおけるブール値の基本:BOOL・BOOLEAN・TINYINT(1) MySQLでブール値を扱うには、BOOL、BOOLEAN、またはTINYINT(1)のいずれかを使用