SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Gerar instruções INSERT a partir dos resultados da consulta SQLite


A interface de linha de comando SQLite nos fornece a capacidade de gerar automaticamente SQL INSERT declarações de uma consulta. Isso pode ser feito alterando o modo de saída para insert .

Exemplo


Suponha que temos a seguinte tabela:
SELECT * FROM Pets;

Resultado:
+-------+---------+--------+
| PetId | PetName | TypeId |
+-------+---------+--------+
| 1     | Homer   | 3      |
| 2     | Yelp    | 1      |
| 3     | Fluff   | 2      |
| 4     | Brush   | 4      |
+-------+---------+--------+

Quando executei esse exemplo, estava usando o modo de tabela. O modo de tabela apresenta a saída da consulta como uma tabela e é um dos vários modos de saída tabular no SQLite.

Podemos alterá-lo para o modo de inserção assim:
.mode insert Pets2

Ao mudar para o modo de inserção, você deve especificar o nome da tabela na qual os dados serão inseridos. No meu caso, especifiquei Pets2 , então os dados serão inseridos nessa tabela.

Agora, quando executamos a mesma consulta SQL de antes, obtemos um monte de INSERT declarações:
SELECT * FROM Pets;

Resultado:
INSERT INTO Pets2 VALUES(1,'Homer',3);
INSERT INTO Pets2 VALUES(2,'Yelp',1);
INSERT INTO Pets2 VALUES(3,'Fluff',2);
INSERT INTO Pets2 VALUES(4,'Brush',4);

É claro que, quando você for inserir esses valores em uma tabela, precisará primeiro verificar se a tabela existe. Você pode criar uma tabela com o nome correto ou inserir em uma existente.