L'interfaccia della riga di comando di SQLite ci offre la possibilità di generare automaticamente SQL INSERT
dichiarazioni da una query. Questo può essere fatto cambiando la modalità di output in insert
.
Esempio
Supponiamo di avere la seguente tabella:
SELECT * FROM Pets;
Risultato:
+-------+---------+--------+ | PetId | PetName | TypeId | +-------+---------+--------+ | 1 | Homer | 3 | | 2 | Yelp | 1 | | 3 | Fluff | 2 | | 4 | Brush | 4 | +-------+---------+--------+
Quando ho eseguito quell'esempio, stavo usando la modalità tabella. La modalità tabella presenta l'output della query come una tabella ed è una delle numerose modalità di output tabellare in SQLite.
Possiamo cambiarlo per inserire la modalità in questo modo:
.mode insert Pets2
Quando si passa alla modalità di inserimento, è necessario specificare il nome della tabella in cui verranno inseriti i dati. Nel mio caso, ho specificato Pets2
, quindi i dati verranno inseriti in quella tabella.
Ora, quando eseguiamo la stessa query SQL di prima, otteniamo un sacco di INSERT
dichiarazioni:
SELECT * FROM Pets;
Risultato:
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);
Ovviamente, quando inserisci questi valori in una tabella, devi prima assicurarti che la tabella esista. Puoi creare una tabella con il nome corretto o inserirla in una esistente.