Código de implementação para inserir dados de uma tabela em outra tabela no MySql
Um projeto da empresa, fazendo relatórios - são muitas estruturas de tabelas para serem relacionadas, e finalmente decidiu coletar os dados para serem usados em uma nova tabela. A seguinte sintaxe SQL precisa ser usada... Compartilhe:
No desenvolvimento web, muitas vezes precisamos inserir dados de uma tabela em outra tabela. Às vezes, também precisamos especificar campos de importação. Para configurar, precisamos apenas importar registros que não existem na tabela de destino. Embora estes possam ser divididos em SQL simples no programa. Implementação, mas usar um sql economizará muito código. Abaixo vou explicar um por um usando o
banco de dados
mysql como exemplo:
1. Se os campos das duas tabelas forem consistentes e você quiser inserir todos os dados, você pode usar este método:
1
2
|
INSERT
INTO
目标表
SELECT
*
FROM
来源表;
insert
into
insertTest
select
*
from
insertTest2;
|
2. Se desejar importar apenas campos especificados, você pode usar este método:
1
2
|
INSERT
INTO
目标表 (字段1, 字段2, ...)
SELECT
字段1, 字段2, ...
FROM
来源表;(这里的话字段必须保持一致)
insert
into
insertTest2(id)
select
id
from
insertTest2;
|
3. Se precisar importar apenas registros que não existem na tabela de destino, você pode usar este método:
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);
|