sql >> Base de Datos >  >> RDS >> Mysql

Cómo insertar varias filas en una sola consulta SQL:pregunta de la entrevista de la semana n.º 069

Hay tantas bases de datos diferentes en el mundo y muchas de ellas usan el lenguaje SQL para su programación. Es muy fácil asumir que si están usando SQL, podemos usar fácilmente el código de una base de datos a otra base de datos. Desafortunadamente, la realidad es muy diferente, no todos los scripts de una base de datos funcionan en otra base de datos. Hoy veremos una pregunta muy interesante en la que el usuario hizo una pregunta sobre la inserción de varias filas en una sola consulta SQL.

Pregunta: Escriba un código SQL que insertará varias filas en una sola consulta SQL. La condición para este script era tal que debería funcionar en SQL Server, MySQL y PostgreSQL sin cambiar una sola línea de código.

Respuesta: Escribir un código para insertar múltiples filas en una sola consulta SQL no es una tarea difícil, pero sí es un desafío crear un script que funcione con múltiples bases de datos. Sin embargo, es posible crear un script que funcione en varias bases de datos.

Primero, creemos una tabla de muestra con dos columnas. Una vez creada la tabla, inserte tres filas diferentes en una sola consulta SQL.

CREATE TABLE SampleTable (ID INT, Col1 VARCHAR(100));
INSERT INTO SampleTable (ID, Col1)
VALUES (1, 'One'), (2, 'Two'), (3, 'Three');
SELECT *
FROM SampleTable;
DROP TABLE SampleTable;

Ahora ejecutemos esta consulta en múltiples bases de datos y veamos el resultado.

Servidor SQL

MySQL

PostgreSQL

Eso es todo. Esta fue de hecho una pregunta muy interesante. Solo para que sepa, alternativamente, también puede compilar el script SQL con la ayuda de UNION. Sin embargo, la solución que se demostró en esta consulta es el nuevo camino a seguir.