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

MySQLで重複レコードを置き換えるのに効率的な手法はどれですか?


重複するレコードを置き換え、挿入中のエラーを回避するには、INSERT ON DUPLICATEKEYUPDATEを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Id int,
   -> Name varchar(20),
   -> UNIQUE(Id,Name)
   -> );
Query OK, 0 rows affected (0.78 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(101,'Chris') on duplicate key update Id=10001,Name='Robert';
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values(102,'Mike') on duplicate key update Id=10001,Name='Robert';
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(101,'Chris') on duplicate key update Id=10001,Name='Robert';
Query OK, 2 rows affected (0.10 sec)

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

mysql> select *from DemoTable;
これにより、次の出力が生成されます-

+-------+--------+
|    Id | Name   |
+-------+--------+
|   102 | Mike   |
| 10001 | Robert |
+-------+--------+
2 rows in set (0.00 sec)

  1. MySQLの複数のテーブルからレコードを挿入します

    複数のテーブルからレコードを挿入するには、INSERTINTOSELECTステートメントを使用します。ここでは、2つのテーブルからレコードを挿入します。 まずテーブルを作成しましょう- mysql> create table DemoTable1943    (    Name varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1943

  2. 複数のレコードをすばやく挿入するMySQLクエリ

    複数のレコードをすばやく挿入するには、単一のINSERTを使用して、次の構文に従います- insert into yourTableName values(yourValue1,yourValue2,...N),(yourValue1,yourValue2,...N).....N; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable2007 (    Amount1 int,    Amount2 int,    Amount3 int ); Query OK,