mysqlはあるテーブルから別のテーブルにデータを挿入します

MySql のあるテーブルから別のテーブルにデータを挿入するための実装コード
 
会社のレポート作成プロジェクト - 関連するテーブル構造が多数あり、最終的に使用するデータを新しいテーブルに収集することにしました。次の SQL 構文を使用する必要があります... 共有します:
Web 開発では、あるテーブルから別のテーブルにデータを挿入する必要があることがよくあります。インポート フィールドの指定も必要になる場合があります。設定するには、ターゲット テーブルに存在しないレコードをインポートするだけで済みます。これらは分割できますが、ただし、SQL を使用すると、多くのコードが節約されます。以下では、例として mysql データベースを使用して 1 つずつ説明します。
 
1. 2 つのテーブルのフィールドに一貫性があり、すべてのデータを挿入したい場合は、次の方法を使用できます。
?
1
2
INSERT INTO 目标表 SELECT * FROM 来源表;
insert into insertTest select * from insertTest2;

 

 
2. 指定したフィールドのみをインポートする場合は、次の方法を使用できます。
?
1
2
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;(这里的话字段必须保持一致)
    insert into insertTest2(id) select id from insertTest2;

 

 
3. ターゲットテーブルに存在しないレコードのみをインポートする必要がある場合は、次の方法を使用できます。
   
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
INSERT INTO 目标表 
  (字段1, 字段2, ...) 
  SELECT 字段1, 字段2, ... 
  FROM 来源表 
  WHERE not exists ( select * from 目标表 
  where 目标表.比较字段 = 来源表.比较字段);
   
  1>.插入多条记录:
insert into insertTest2
(id, name )
select id, name
from insertTest
where not exists ( select * from insertTest2
where insertTest2.id=insertTest.id);
 
  2>.插入一条记录:
insert into insertTest   
(id, name )   
SELECT 100, 'liudehua'   
FROM dual   
WHERE not exists ( select * from insertTest   
where insertTest.id = 100);

おすすめ

転載: blog.csdn.net/linwei_hello/article/details/38234841