La interfaz de línea de comandos de SQLite nos brinda la capacidad de generar automáticamente SQL INSERT
declaraciones de una consulta. Esto se puede hacer cambiando el modo de salida a insert
.
Ejemplo
Supongamos que tenemos la siguiente tabla:
SELECT * FROM Pets;
Resultado:
+-------+---------+--------+ | PetId | PetName | TypeId | +-------+---------+--------+ | 1 | Homer | 3 | | 2 | Yelp | 1 | | 3 | Fluff | 2 | | 4 | Brush | 4 | +-------+---------+--------+
Cuando ejecuté ese ejemplo, estaba usando el modo de tabla. El modo de tabla presenta el resultado de la consulta como una tabla y es uno de varios modos de salida tabulares en SQLite.
Podemos cambiarlo al modo de inserción así:
.mode insert Pets2
Cuando cambia al modo de inserción, debe especificar el nombre de la tabla en la que se insertarán los datos. En mi caso, especifiqué Pets2
, por lo que los datos se insertarán en esa tabla.
Ahora, cuando ejecutamos la misma consulta SQL que antes, obtenemos un montón de INSERT
declaraciones:
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);
Por supuesto, cuando vaya a insertar estos valores en una tabla, primero deberá asegurarse de que la tabla exista. Puede crear una tabla con el nombre correcto o insertarla en una existente.