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.