MySQL INSERT INTO SELECT

L’instruction INSERT INTO SELECT copie les données d’une table et les insère dans une autre table.

  • La table source et cible doivent avoir le même type de données.
  • Les enregistrements existants dans la table cible ne sont pas affectés.

 
 

Syntaxe:

La syntaxe suivante, copier toutes les colonnes de la table t1 vers la table t2.

INSERT INTO t2
SELECT * FROM t1
WHERE condition;

La syntaxe suivante, copier seulement les colonnes sélectionnées de la table t1 vers la table t2.

 INSERT INTO t2 (colonne1, colonne2, colonne3, …)
 SELECT colonne1, colonne2, colonne3, …
 FROM t1
 WHERE condition;

 

Exemple :

Supposons que nous ayons la table des fournisseurs suivante avec la structure suivante.

CREATE TABLE fournisseurs (
     id INT AUTO_INCREMENT,
     nom VARCHAR(50) NOT NULL,
     tel VARCHAR(50),
     adresse VARCHAR(50),
     pays VARCHAR(50),
     client_id INT,
     PRIMARY KEY (id)
 );
Liste des commandes MySQLListe des commandes MySQLDans ce tutoriel vous allez découvrir les différentes commandes MySQL qui devraient être utiles pour travailler avec des bases de données.     1. Pour…Lire plus  
Maintenant, nous allons remplir la table des fournisseurs à partir de la table Clients.

 INSERT INTO fournisseurs (
     nom, 
     tel, 
     adresse,
     pays,
     client_id
 )
 SELECT 
     nom, 
     tel, 
     adresse,
     pays,
     client_id
 FROM 
     clients;

La requête suivante copie uniquement les clients de la France dans la table « fournisseurs ».

 INSERT INTO fournisseurs (
     nom, 
     tel, 
     adresse,
     pays,
     client_id
 )
 SELECT 
     nom, 
     tel, 
     adresse,
     email,
     client_id
 FROM 
     clients;
 WHERE 
     pays = 'FR';

Après avoir inséré les données à l’aide de la requête INSERT INTO SELECT, la requête suivante renvoie les données de la table fournisseurs.

SELECT * FROM fournisseurs;
Questions techniques sur MYSQLQuestions techniques sur MYSQL – Partie 1Nous avons divisé cette collection de questions techniques sur MYSQL sous sept chapitres là, c’est la premiere, puis vous trouverez la deuxième partie, la troisième…Lire plus
Partagez cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *