Hvordan kopiere en tabell i mysql

Hvordan kopiere en tabell i mysql
Det er noen tilfeller der vi kanskje må kopiere en bestemt tabell fra samme eller en annen database. Når du for eksempel utfører sikkerhetskopiering eller migrasjoner, kan det hende vi må gjenopprette en tabell uten å gjenopprette hele databasen.

Denne opplæringen vil gå over hvordan du kopierer en tabell fra en database til en annen tabell ved hjelp av MySQL, Opprett og velger klausuler.

Bruk saker

Det første tilfellet hvor vi må kopiere en tabell er å kopiere spesifikke data fra en eksisterende tabell til en ny. For eksempel i Sakila -eksempeldatabasen kan vi kopiere spesifikk informasjon fra filmtabellen til en ny tabell kalt Film_Revised.

Tenk på spørringen nedenfor for å utføre en slik operasjon:

Opprette database copy_tb;
bruk copy_tb;
Lag tabellfilm_revised Select Tittel, Release_year, Lengde, Rating fra Sakila.film;

Når spørringen ovenfor er utført, kan vi se dataene som er lagret i tabellen ved å bruke MySQL SELECT -setningen som vist i utgangen nedenfor:

mysql> velg * fra Film_Revised Limit 10;
+------------------+--------------+--------+--------+
| tittel | Release_year | lengde | Rating |
+------------------+--------------+--------+--------+
| Academy Dinosaur | 2006 | 86 | PG |
| Ace Goldfinger | 2006 | 48 | G |
| Tilpasningshull | 2006 | 50 | NC-17 |
| Affære fordommer | 2006 | 117 | G |
| Afrikansk egg | 2006 | 130 | G |
| Agent Truman | 2006 | 169 | PG |
| Fly Sierra | 2006 | 62 | PG-13 |
| Flyplass Pollock | 2006 | 54 | R |
| Alabama Devil | 2006 | 114 | PG-13 |
| Aladdin Calendar | 2006 | 63 | NC-17 |
+------------------+--------------+--------+--------+
10 rader i settet (0.00 sek)

Som du kan se, kan vi lage nye tabeller med valgt informasjon fra eksisterende tabeller uten å endre dataene i den opprinnelige databasen.

MERK: Kopiering av en tabell ved hjelp av Create Table og velg uttalelser kopierer bare tabellen og dens data. Den kopierer ikke objekter som indekser, triggere, primære nøklerbegrensninger osv., koblet til den opprinnelige tabellen.

Kopier tabell + objekter

For å kopiere tabellen + data og alle relaterte objekter, bruker vi lignende setning etterfulgt av innsatserklæringen som illustrert i spørringen nedenfor:

Lag tabellfilm_copy som Sakila.film;
Sett inn Film_Copy Select * fra Sakila.film;

Ovennevnte spørring vil kopiere alt fra den opprinnelige tabellen til den nye, inkludert indekser, primærnøkler, begrensninger og andre objekter koblet til den originale tabellen.

MERK: Vær forsiktig når du bruker kopieringene om massive tabeller, da de kan bruke mer ressurser og ta lang tid å fullføre.

Kopier tabeller fra separate databaser

Hvis du trenger å kopiere en tabell fra forskjellige databaser, kan du referere til databasen ved hjelp av DOT (.) Notasjon.

Start for eksempel med å opprette en ny database som:

Opprett database hvis ikke eksisterer multi_db;

Deretter bruker du syntaks som tidligere er vist for å kopiere en tabell fra den gamle databasen til den nye. Se spørringen nedenfor:

Lag tabell multi_db.new_tb som Sakila.film;
Sett inn multi_db.new_tb velg * fra sakila.film;

Dette vil kopiere tabellfilmtabellen fra Sakila -databasen til den nye og vise utdataene som vist nedenfor:

Spørring OK, 1000 rader berørt (0.03 sek)
Registreringer: 1000 duplikater: 0 Advarsler: 0

Du kan bruke Select -setningen for å bekrefte at dataene er kopiert.

Konklusjon

Denne raske guiden har gått over hvordan du bruker mysql opprette tabell og velg utsagn for å kopiere spesifikke kolonner fra en tabell til en ny tabell.

Vi så også på hvordan du kopierer alle dataene, inkludert objekter tilknyttet den opprinnelige tabellen, til en ny tabell.

Til slutt diskuterte vi hvordan du kopierer tabeller fra en database til en annen.

Takk for at du leser.