Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment insérer plusieurs lignes dans une seule requête SQL – Question d'entretien de la semaine #069

Il existe tellement de bases de données différentes dans le monde et beaucoup d'entre elles utilisent le langage SQL pour leur programmation. Il est très facile de supposer que s'ils utilisent SQL, nous pouvons facilement utiliser le code d'une base de données vers une autre base de données. Malheureusement, la réalité est très différente, tous les scripts d'une base de données ne fonctionnent pas dans une autre base de données. Aujourd'hui, nous verrons une question très intéressante où l'utilisateur a posé une question sur l'insertion de plusieurs lignes dans une seule requête SQL.

Question : Écrivez un code SQL qui insérera plusieurs lignes dans une seule requête SQL. La condition de ce script était telle qu'il devrait fonctionner dans SQL Server, MySQL et PostgreSQL sans changer une seule ligne de code.

Réponse : Écrire un code pour insérer plusieurs lignes dans une seule requête SQL n'est pas une tâche difficile, mais c'est en effet un défi de créer un script qui fonctionnera avec plusieurs bases de données. Cependant, il est possible de créer un script qui fonctionnera sur plusieurs bases de données.

Tout d'abord, créons un exemple de tableau avec deux colonnes. Une fois la table créée, insérez trois lignes différentes dans une seule requête 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;

Exécutons maintenant cette requête dans plusieurs bases de données et voyons le résultat.

SQL Server

MySQL

PostgreSQL

C'est tout. C'était en effet une question très intéressante. Juste pour que vous sachiez que vous pouvez également créer le script SQL à l'aide de l'UNION. Cependant, la solution démontrée dans cette requête est la nouvelle voie à suivre.