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

MySQLテーブル内のすべての重複レコードを削除するにはどうすればよいですか?


テーブルから重複レコードを削除するには、DELETEコマンドを使用できます。テーブルを作成しましょう。

mysql> create table DuplicateDeleteDemo
   -> (
   -> id int,
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.60 sec)

テーブル「DuplicateDeleteDemo」へのレコードの挿入:ここでは、「John」を複製レコードとして3回追加しました。

mysql> insert into DuplicateDeleteDemo values(1,'John');
Query OK, 1 row affected (0.11 sec)

mysql>  insert into DuplicateDeleteDemo values(1,'John');
Query OK, 1 row affected (0.14 sec)

mysql>  insert into DuplicateDeleteDemo values(2,'Johnson');
Query OK, 1 row affected (0.13 sec)

mysql>  insert into DuplicateDeleteDemo values(1,'John');
Query OK, 1 row affected (0.14 sec)

すべてのレコードを表示するには、SELECTステートメントを使用します。

mysql> select *from DuplicateDeleteDemo;

以下は、レコードが重複している出力です。

+------+---------+
| id   | name    |
+------+---------+
|    1 | John    |
|    1 | John    |
|    2 | Johnson |
|    1 | John    |
+------+---------+
4 rows in set (0.00 sec)

上記の出力では、テーブルに4つのレコードがあり、そのうち3つのレコードが重複しています。

重複するレコードを削除するには、udeDELETEを実行します。

mysql> delete from DuplicateDeleteDemo where id=1;
Query OK, 3 rows affected (0.19 sec)

レコードが削除されたかどうかを確認するために、もう一度すべてのレコードを表示してみましょう。

mysql> select *from DuplicateDeleteDemo;

次の出力は、重複するすべてのレコードが削除されたことを示しています。

+------+---------+
| id   | name    |
+------+---------+
|    2 | Johnson |
+------+---------+
1 row in set (0.00 sec)

  1. レコードが重複しているMySQLテーブルから単一の値を削除するにはどうすればよいですか?

    DELETEを使用してレコードを削除しますが、重複するレコードが複数ある場合は、次の構文のようにMySQLLIMITを使用して削除を制限します- 構文 delete from yourTableName where yourColumnName=yourValue limit 1; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Amount int    -> ); Query OK, 0 rows affected (1.38 sec

  2. MySQLで日付レコードを持つテーブルの日付を変更するにはどうすればよいですか?

    日付を変更して年を追加する必要があるとします。このためには、DATE_ADD()とともにUPDATEコマンドを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1984    (    ShippingDate date    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1984 values('2014