SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Generieren Sie INSERT-Anweisungen aus SQLite-Abfrageergebnissen

Die SQLite-Befehlszeilenschnittstelle bietet uns die Möglichkeit, SQL INSERT automatisch zu generieren Aussagen aus einer Abfrage. Dies kann durch Ändern des Ausgabemodus auf insert erfolgen .

Beispiel

Angenommen, wir haben die folgende Tabelle:

SELECT * FROM Pets;

Ergebnis:

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

Als ich dieses Beispiel ausgeführt habe, habe ich den Tabellenmodus verwendet. Der Tabellenmodus stellt die Abfrageausgabe als Tabelle dar und ist einer von mehreren tabellarischen Ausgabemodi in SQLite.

Wir können es wie folgt in den Einfügemodus ändern:

.mode insert Pets2

Wenn Sie in den Einfügemodus wechseln, müssen Sie den Namen der Tabelle angeben, in die die Daten eingefügt werden. In meinem Fall habe ich Pets2 angegeben , sodass die Daten in diese Tabelle eingefügt werden.

Wenn wir jetzt dieselbe SQL-Abfrage wie zuvor ausführen, erhalten wir eine Reihe von INSERT Anweisungen:

SELECT * FROM Pets;

Ergebnis:

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);

Wenn Sie diese Werte in eine Tabelle einfügen, müssen Sie natürlich zuerst sicherstellen, dass die Tabelle vorhanden ist. Sie können entweder eine Tabelle mit dem richtigen Namen erstellen oder in eine vorhandene einfügen.