Másoljon egy táblázatot SQL-ben

Masoljon Egy Tablazatot Sql Ben



A felszínen az adatok megkettőzése hatástalannak tűnhet; néha nagyon döntő szerepet játszhat olyan esetekben, amikor ugyanannak a táblázatnak majdnem pontos másolatára van szüksége.

Az SQL-ben különféle módszereket és technikákat használhatunk egy meglévő tábla másolására, és az új tábla új néven, de ugyanazokkal az adatokkal. Ez nagyon hasznos lehet bizonyos feladatoknál, például biztonsági mentéseknél, adatátalakításoknál, ideiglenes adatmódosításoknál a fő tábla befolyásolása nélkül stb.







Ebben az útmutatóban megvizsgáljuk ezeket a módszereket, és megtanuljuk, hogyan másolhatunk táblát SQL-adatbázisokban. A különböző SQL adatbázis-motorok táblamásolásának kezelésében mutatkozó különbségek miatt nem térünk ki az egyes adatbázisok összes módszerére.



Megpróbálunk minden adatbázismotorhoz legalább egyet lefedni, ha támogatott, hogy megmutassuk, hogyan másolhat táblát az egyes támogatott adatbázismotorokhoz.



1. módszer: Globális (a CREATE TABLE utasítás használatával)

A táblázat másolásának legáltalánosabb és legegyszerűbb módja a CREATE TABLE utasítás használata.





A normál CREATE TABLE utasítástól eltérően egy SELECT utasítást adunk át, amely tartalmazza a forrástábla szerkezetét és adatait.

A szintaxis a következő:



CREATE TABLE new_table AS
KIVÁLASZTÁS * FROM forrás_tábla;

Ez lehetővé teszi, hogy a megadott névvel új táblát hozzunk létre a forrástáblából.

Vegyük például a Sakila mintaadatbázist. Tegyük fel, hogy egy hasonló táblát szeretnénk létrehozni, mint a bérleti táblázat.

Használhatjuk az előző technikát a következő példalekérdezés szerint:

CREATE TABLE rental_copy AS
KIVÁLASZTÁS * kölcsönzéstől;

Ezzel létre kell hoznia egy új táblát „kölcsönzési_másolat” néven, amely ugyanazt a struktúrát és adatokat tartalmazza, mint a bérelhető tábla.

A táblázat adatainak kiválasztásával ellenőrizheti az alábbiak szerint:

KIVÁLASZTÁS * FROM kölcsönzési_másolat;

Ennek tartalmaznia kell a pontos adatokat, mint a bérleti táblázat.

2. módszer: Globális (az INSERT INTO utasítás használatával)

Egy másik módszer, amelyet az SQL-adatbázisok széles köre globálisan támogat, az INSERT INTO utasítás használata.

Ez a technika lehetővé teszi, hogy egyik táblázatból a másikba másoljunk. A CREATE TABLE-től és a SELECT-től eltérően ez a módszer lehetővé teszi az adatok szelektív lekérését.

Ez akkor hasznos, ha nagyobb kontrollra van szükségünk a másolási folyamatban. A szintaxist az alábbiak szerint használhatjuk:

INSERT INTO target_table ( oszlop1, oszlop2, ... )
1. oszlop, 2. oszlop KIVÁLASZTÁSA, ...
FROM forrás_tábla;

Ebben az esetben megadhatjuk azokat az oszlopokat, amelyeket be kívánunk venni az új táblába, anélkül, hogy mindent lekérnénk az eredeti táblából.

Vegyük például a következő lekérdezést:

BESZÁLLÍTÁS
BA
rental_copy ( rental_id,
rental_date,
visszatérítési dátum )
KIVÁLASZTÁS
rental_id,
rental_date,
visszatérítési dátum
TÓL TŐL
bérlés r;

Ennek a módszernek az egyik hátránya, hogy előfordulhat, hogy létre kell hoznia egy hasonló táblázatot a kívánt oszlopokkal. Ez ismétlődő és hatékony lehet, ha nagy adatkészlettel dolgozik.

3. módszer: Másolja ki a táblázat szerkezetét

Más esetekben előfordulhat, hogy olyan esetekkel találkozhat, amikor érdekli a táblaszerkezet, anélkül, hogy a táblában tárolt adatokra lenne szüksége.

Ebben a forgatókönyvben a CREATE TABLE utasítást a LIKE záradékkal együtt használhatja az alábbiak szerint:

TÁBLÁZAT LÉTREHOZÁSA új_tábla ( LIKE forrás_táblázat ) ;

Ezzel létre kell hoznia egy új táblát a megadott névvel és hasonló szerkezettel, mint a „forrás_tábla”, anélkül, hogy ténylegesen másolná az adatokat.

A táblák másolása az adatbázisok között

A táblák különböző adatbázisok közötti másolásához exportálhatjuk az adatokat a forrásadatbázisból és importálhatjuk a céladatbázisba.

Ez jellemzően fájlalapú formátumok, például CSV vagy adatbázis-specifikus eszközök használatát foglalja magában. Ennek végrehajtásáról az adatbázis dokumentációjában hivatkozhat, mivel az adatbázis-motortól függően változhat.

4. módszer: A csatolt kiszolgálók (SQL Server) használata

Az SQL Serverben a táblákat az adatbázisok között átmásolhatjuk Linked Servers segítségével.

A kapcsolt szerverek lehetővé teszik számunkra, hogy kapcsolatot létesítsünk egy távoli adatbázissal, és lekérdezzük vagy továbbítsuk az adatokat közöttük.

A szintaxis a következő:

INSERT INTO [ LinkedServerName ] . [ Adatbázis név ] . [ SchemaName ] . [ cél_tábla ]
KIVÁLASZTÁS * FROM forrás_tábla;

Ez lehetővé teszi a távoli kapcsolatot és adatátvitelt a távoli szerverek között.

Következtetés

Ebben az oktatóanyagban megtanultuk, hogyan kell használni és dolgozni a táblázatok SQL-ben történő másolásának különféle módszereivel és technikáival.