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

MySQLのテーブルから重複する列を削除するのに助けが必要ですか?


重複する列を削除するには、INNERJOINでDELETEを使用します。以下は構文です-

delete tbl1 from yourTableName anyAliasName1
inner join yourTableName anyAliasName2
where
yourCondition1
and
yourCondition2

テーブルを作成しましょう-

mysql> create table demo14
−> (
−> id int not null auto_increment primary key,
−> name varchar(30)
−> );
Query OK, 0 rows affected (1.89 sec)

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。
mysql> insert into demo14(name) values('John');
Query OK, 1 row affected (0.14 sec)

mysql> insert into demo14(name) values('David');
Query OK, 1 row affected (0.18 sec)

mysql> insert into demo14(name) values('David');
Query OK, 1 row affected (0.09 sec)

mysql> insert into demo14(name) values('Bob');
Query OK, 1 row affected (0.15 sec)

mysql> insert into demo14(name) values('John');
Query OK, 1 row affected (0.45 sec)

mysql> insert into demo14(name) values('Carol');
Query OK, 1 row affected (0.16 sec)

selectステートメントを使用してテーブルのレコードを表示する-

mysql> select *from demo14;

これにより、次の出力が生成されます-

+----+-------+
| id | name  |
+----+-------+
|  1 | John  |
|  2 | David |
|  3 | David |
|  4 | Bob   |
|  5 | John  |
|  6 | Carol |
+----+-------+
6 rows in set (0.00 sec)

以下は、テーブルから重複する列を削除するためのクエリです-

mysql> delete tbl1 from demo14 tbl1
−> inner join demo14 tbl2
−> where
−> tbl1.id < tbl2.id and
−> tbl1.name = tbl2.name
−> ;
Query OK, 2 rows affected (0.20 sec)

selectステートメントを使用してテーブルのレコードを表示する-

mysql> select *from demo14;

これにより、次の出力が生成されます-

+----+-------+
| id | name  |
+----+-------+
|  3 | David |
|  4 | Bob   |
|  5 | John  |
|  6 | Carol |
+----+-------+
4 rows 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テーブルからデータを削除した後に1で自動インクリメントするにはどうすればよいですか?

    これには、TRUNCATETABLEコマンドを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1796      (      StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,      StudentName varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにい