Remplir une table MySQL à partir d’une autre à l’aide d’une requête SQL

Comment sélectionner des données d’une table et les insérer dans une autre ?

Pour sélectionner certaines données d’une table (en choisissant les lignes et les colonnes, puis les ajouter dans une autre table…)

INSERT INTO table2 (id, nom, email) SELECT id, nom, email FROM table1 WHERE param1 <=1 AND param2=15

Tags: ,
Posted in SQL / Mysql | Comments (11)

11 Responses to “Remplir une table MySQL à partir d’une autre à l’aide d’une requête SQL”

  1. Rachid Says:

    Merci. Ca m’a bien aider

  2. sayti Says:

    salut à tous
    s’il vous plait, est ce que vous pouvez me dire comment remplir une table à partir de mysql càd saisir des données

  3. admin Says:

    Bonjour Sayti,
    Ta question est un peu vague, disons que si tu es dans PhpMyAdmin, tu dois utiliser le bouton Insérer, Alors que si tu te trouve dans un code PHP, tu dois te connecter au serveur, choisir ta base, faire ta requête d’insertion de données puis te déconnecter.
    Les exercices php de ce site t’aideront.

    Jérôme Desbordes
    Webmaster-freelance.com

  4. Soufiane Says:

    est ce que les deux table doit avoir les même nom des colonnes ??

  5. Jérôme Desbordes Says:

    Non ce n’est pas obligatoire, les données de table1 seront insérées dans les colonnes listées dans table2

  6. jd440 Says:

    Est il possible de remplir ainsi un table à partir d’un requete plus un donné fixe.
    Dans l’exemple donné ce serait

    (id, nom, email, pays) SELECT id, nom, email FROM table1
    oú pays serait remplir automatique par france?

  7. Jérôme Desbordes Says:

    Bonjour jd440, oui sans problème, par exemple « INSERT INTO pays2 (`id_pays`, `code`, `fr`, prix) SELECT `id_pays`, `code`, `fr`, 45 FROM pays WHERE `id_pays`< 12 » va insérer dans la table pays2 les données de la table pays ayant un id < 12 en insérant un 45 dans la colonne prix de pays2, même si cette colonne c’est pas présente dans la table pays

  8. Njoy Says:

    Bonjour, j’avoue que ce poste m’a bcp aidé. est ce qu’il est possible d’inserer dans une autre table la derniere ID d’une autre table recuperee? Si oui, comment?
    Merci

  9. Jérôme Desbordes Says:

    Bonjour,
    La fonction mysql_inset_id() permet de récupérer le dernier insert de la connexion, en préférant bien sur maintenant sa version mysqli : mysqli_insert_id

  10. Njoy Says:

    Oui, le problème c’est de l’insérer a partir d’une autre requête dans une autre page. Merci pour ta réponse

  11. Jérôme Desbordes Says:

    A priori (sauf erreur de ma part) il n’y a pas moyen en SQL de dire que la valeur de la clef étrangère de la table 2 se trouve dans la valeur de la table 1 qu’on vient d’insérer. Perso je ferais donc deux requêtes…

Leave a Reply

*

 
#JeSuisCharlie