166 votes

Comment copier des données d'une table dans une nouvelle table dans MySQL?

Je veux copier des données d'une table à une autre dans MySQL.

Tableau 1 (Tableau existant):

 aid    
st_id
from_uid
to_gid
to_uid
created
changed
subject
message
link
 

Tableau 2 (nouveau tableau)

 st_id
uid
changed
status
assign_status
 

Je souhaite copier certains champs de données du TABLEAU 1 au TABLEAU 2.

Cela peut-il être fait en utilisant des requêtes MySQL?

313voto

jdias Points 1595

voyez ci-dessous un code qui fera ce que vous voulez:

 INSERT INTO table2 (st_id,uid,changed,status,assign_status)
SELECT st_id,from_uid,now(),'Pending','Assigned'
FROM table1
 

si vous souhaitez inclure toutes les lignes de la table1. Sinon, vous pouvez ajouter une instruction WHERE à la fin si vous souhaitez ajouter uniquement un sous-ensemble de table1.

J'espère que ça aide.

92voto

Bryan Points 2052

Si vous ne voulez pas lister les champs et que la structure des tables est la même, vous pouvez faire:

 INSERT INTO `table2` SELECT * FROM `table1`;
 

ou si vous voulez créer une nouvelle table avec la même structure:

 CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;
 

Référence pour l'insertion choisie ; Référence pour créer une table

22voto

php Points 435

Vous pouvez facilement obtenir des données d'une autre table. Vous devez ajouter des champs que vous voulez.

La requête mysql est:

 INSERT INTO table_name1(fields you want)
  SELECT fields you want FROM table_name2
 


où, les valeurs sont copiées de table2 à table1

4voto

dexter.ba Points 188

La meilleure option est d'utiliser l'instruction INSERT ... SELECT dans mysql.

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

3voto

mikey Points 439
 SELECT *
INTO newtable [IN externaldb]
FROM table1;
 

http://www.w3schools.com/sql/sql_select_into.asp

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X