Come copiare un tavolo in mysql

Come copiare un tavolo in mysql
Ci sono alcuni casi in cui potremmo dover copiare una tabella specifica dallo stesso o da un database diverso. Ad esempio, quando si eseguono backup o migrazioni, potremmo dover ripristinare una tabella senza ripristinare l'intero database.

Questo tutorial passerà come copiare una tabella da un database in un'altra tabella usando MySQL Crea e selezionare Clauuso.

Casi d'uso

Il primo caso in cui dobbiamo copiare una tabella sta copiando dati specifici da una tabella esistente a una nuova. Ad esempio, nel database di campioni di Sakila, possiamo copiare informazioni specifiche dalla tabella del film a una nuova tabella chiamata Film_Reviise.

Considera la query di seguito per eseguire tale operazione:

Crea database copy_tb;
utilizzare copy_tb;
Crea table Film_revised Seleziona titolo, rilascio_year, lunghezza, valutazione da Sakila.film;

Una volta eseguita la query sopra, possiamo visualizzare i dati archiviati nella tabella utilizzando l'istruzione MySQL Select come mostrato nell'output di seguito:

mysql> Seleziona * da film_revised limite 10;
+------------------+--------------+--------+--------+
| Titolo | Release_year | lunghezza | Valutazione |
+------------------+--------------+--------+--------+
| Academy Dinosaur | 2006 | 86 | Pg |
| Ace Goldfinger | 2006 | 48 | G |
| Buchi di adattamento | 2006 | 50 | NC-17 |
| Pregiudizio di affari | 2006 | 117 | G |
| Uovo africano | 2006 | 130 | G |
| Agente Truman | 2006 | 169 | Pg |
| Airplane Sierra | 2006 | 62 | PG-13 |
| Pollock aeroportuale | 2006 | 54 | R |
| Alabama Devil | 2006 | 114 | PG-13 |
| Calendario Aladdin | 2006 | 63 | NC-17 |
+------------------+--------------+--------+--------+
10 righe in set (0.00 sec)

Come puoi vedere, possiamo creare nuove tabelle con informazioni selezionate da tabelle esistenti senza alterare i dati nel database originale.

NOTA: Copia di una tabella utilizzando la tabella Crea e selezionare le istruzioni solo copia la tabella e i suoi dati. Non copia oggetti come indici, trigger, vincoli di chiavi primarie, ecc., connesso alla tabella originale.

Copia tabella + oggetti

Per copiare la tabella + dati e tutti gli oggetti correlati, utilizziamo l'istruzione mi piace seguita dall'istruzione insert come illustrato nella query seguente:

Crea tabella film_copy come sakila.film;
INSERIRE FILM_COPY Seleziona * da Sakila.film;

La query sopra copia tutto dalla tabella originale in quella nuova, inclusi indici, chiavi primarie, vincoli e altri oggetti collegati alla tabella originale.

NOTA: Fai attenzione quando si utilizza le dichiarazioni di copia su tabelle enormi in quanto possono utilizzare più risorse e richiedere molto tempo per completare.

Copiare le tabelle da database separati

Se è necessario copiare una tabella da database diversi, è possibile fare riferimento al database utilizzando DOT (.) notazione.

Ad esempio, inizia creando un nuovo database come:

Crea database se non esiste multi_db;

Quindi, utilizzare la sintassi mostrata in precedenza per copiare una tabella dal vecchio database a quello nuovo. Vedi la query qui sotto:

Crea tabella multi_db.new_tb come Sakila.film;
Inserisci multi_db.new_tb seleziona * da sakila.film;

Questo copierà la tabella del film tabella dal database Sakila a quello nuovo e visualizzerà l'output come mostrato di seguito:

Query ok, 1000 righe interessate (0.03 sec)
Registri: 1000 Duplicati: 0 Avvertenze: 0

È possibile utilizzare l'istruzione seleziona per verificare che i dati siano stati copiati correttamente.

Conclusione

Questa guida rapida è passata come utilizzare la tabella create mysql e selezionare istruzioni per copiare colonne specifiche da una tabella a una nuova tabella.

Abbiamo anche esaminato come copiare tutti i dati, compresi gli oggetti associati alla tabella originale, in una nuova tabella.

Infine, abbiamo discusso di come copiare le tabelle da un database a un altro.

Grazie per aver letto.