Dans MySQL, comment copier le contenu d’une table dans une autre table de la même firebase database?

Je suis nouveau sur MySQL. Je voudrais copier le contenu d’une table dans une autre table de la même firebase database. En gros, je voudrais insérer dans un tableau d’une autre table. Y a-t-il un moyen facile de le faire?

INSERT INTO TARGET_TABLE SELECT * FROM SOURCE_TABLE;

EDIT: ou si les tables ont des structures différentes, vous pouvez aussi:

 INSERT INTO TARGET_TABLE (`col1`,`col2`) SELECT `col1`,`col2` FROM SOURCE_TABLE; 

EDIT: contraindre cela ..

 INSERT INTO TARGET_TABLE (`col1_`,`col2_`) SELECT `col1`,`col2` FROM SOURCE_TABLE WHERE `foo`=1 

Si la table n’existe pas, vous pouvez en créer une avec le même schéma comme suit:

 CREATE TABLE table2 LIKE table1; 

Ensuite, pour copier les données sur:

 INSERT INTO table2 SELECT * FROM table1 

Si table1 est volumineux et que vous ne souhaitez pas le verrouiller pendant la durée du processus de copie, vous pouvez effectuer un dump-and-load à la place:

 CREATE TABLE table2 LIKE table1; SELECT * INTO OUTFILE '/tmp/table1.txt' FROM table1; LOAD DATA INFILE '/tmp/table1.txt' INTO TABLE table2; 

Si vous voulez créer et copier le contenu en un seul coup, utilisez simplement le SELECT:

CREATE TABLE new_tbl SELECT * FROM orig_tbl;

Cela a fonctionné pour moi,

CREATE TABLE newtable LIKE oldtable;

Réplique newtable avec l’ancienne table

INSERT newtable SELECT * FROM oldtable ;

Copie toutes les données de ligne dans la nouvelle table.

Je vous remercie

Cela a fonctionné pour moi. Vous pouvez rendre l’instruction SELECT plus complexe, avec les clauses WHERE et LIMIT.

Commencez par dupliquer votre grande table (sans les données), exécutez la requête suivante, puis tronquez la plus grande table.

 INSERT INTO table_small (SELECT * FROM table_large WHERE column = 'value' LIMIT 100) 

Super simple 🙂

Essaye ça. Fonctionne bien dans mon Oracle 10g,

 CREATE TABLE new_table AS (SELECT * FROM old_table);