Nous avons vu précédemment comment créer une table à partir d’une autre table. Ici nous allons voir qu’il est aussi possible de copier des données d’une table vers une autre table. Pour cela, il faut que les structures des tables soient compatibles.
Pour faire la copie, il suffit de combiner la requête INSERT avec la requête SELECT.
Syntaxe :
INSERT INTO table1 (colonne1a, colonne1b, ...)
SELECT colonne2a, colonne2b, ... FROM table2 WHERE condition
Exemple:
On a deux tables qui sont la table eleves et la table eleves_terminal
Table eleves
id | nom | prenom | age | sexe | classe |
1 | Dubois | Jack | 13 | Masculin | 5ème |
2 | Mariam | Youssouf | 16 | Féminin | seconde |
3 | Li | Chao | 15 | Masculin | seconde |
4 | Karihila | Djalimou | 17 | Masculin | terminale |
Table eleves_terminal
id | nom | prenom | age | sexe |
1 | Hassane | Ahmed | 17 | Masculin |
2 | Fofana | Christine | 18 | Féminin |
Maintenant on va copier dans la table eleves_terminal les élèves de la classe terminale se trouvant dans la table eleves.
Voici le code SQL :
INSERT INTO eleves_terminal (nom, prenom, age, sexe) SELECT nom, prenom, age, sexe FROM eleves WHERE classe='terminale';
Maintenant si vous consultez la table eleves_terminal, vous verrez bien que l’élève Karihila Djalimou a été bien ajouté dans la table.