sql >> Base de Datos >  >> RDS >> SQLite

Genere declaraciones INSERT a partir de los resultados de consultas de SQLite

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.