SQLites kommandoradsgränssnitt ger oss möjligheten att automatiskt generera SQL INSERT
uttalanden från en fråga. Detta kan göras genom att ändra utgångsläget till insert
.
Exempel
Anta att vi har följande tabell:
SELECT * FROM Pets;
Resultat:
+-------+---------+--------+ | PetId | PetName | TypeId | +-------+---------+--------+ | 1 | Homer | 3 | | 2 | Yelp | 1 | | 3 | Fluff | 2 | | 4 | Brush | 4 | +-------+---------+--------+
När jag körde det exemplet använde jag tabellläge. Tabellläge presenterar frågeutmatningen som en tabell och är ett av flera utdatalägen i tabellform i SQLite.
Vi kan ändra det till infogningsläge så här:
.mode insert Pets2
När du byter till infogningsläge måste du ange namnet på tabellen som data ska infogas i. I mitt fall angav jag Pets2
, så att data infogas i den tabellen.
Nu när vi kör samma SQL-fråga som tidigare får vi en massa INSERT
uttalanden:
SELECT * FROM Pets;
Resultat:
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);
Naturligtvis, när du går för att infoga dessa värden i en tabell, måste du se till att tabellen finns först. Du kan antingen skapa en tabell med rätt namn eller infoga i en befintlig.