Kopyahin ang isang Table sa SQL

Kopyahin Ang Isang Table Sa Sql



Habang nasa ibabaw, ang pagdoble ng data ay maaaring mukhang hindi mahusay; minsan ito ay maaaring gumanap ng isang napakahalagang papel sa mga pagkakataon kung saan kailangan mong magkaroon ng halos eksaktong kopya ng parehong talahanayan.

Sa SQL, maaari tayong gumamit ng iba't ibang pamamaraan at diskarte upang kopyahin ang isang umiiral na talahanayan at magkaroon ng bagong talahanayan sa ilalim ng bagong pangalan ngunit may parehong data. Maaari itong maging lubhang kapaki-pakinabang sa ilang partikular na gawain tulad ng mga backup, pagbabago ng data, pansamantalang pagbabago ng data nang hindi naaapektuhan ang pangunahing talahanayan, at higit pa.







Sa gabay na ito, tutuklasin namin ang mga pamamaraang ito at matutunan kung paano namin makokopya ang isang talahanayan sa mga database ng SQL. Dahil sa mga pagkakaiba sa kung paano pinangangasiwaan ng iba't ibang SQL database engine ang pagkopya ng talahanayan, hindi namin sasaklawin ang lahat ng pamamaraan para sa bawat database.



Susubukan naming sakupin ang hindi bababa sa isa para sa bawat database engine, sa tuwing sinusuportahan, upang ipakita sa iyo kung paano mo maaaring kopyahin ang isang talahanayan para sa bawat isa sa iyong sinusuportahang database engine.



Paraan 1: Global (Gamit ang CREATE TABLE Statement)

Ang pinakakaraniwan at pinakasimpleng paraan ng pagkopya ng talahanayan ay ang paggamit ng CREATE TABLE na pahayag.





Hindi tulad ng isang normal na pahayag na CREATE TABLE, ipinapasa namin ang isang SELECT statement na naglalaman ng istraktura at data ng source table.

Ang syntax ay ang mga sumusunod:



GUMAWA ng TALAHANAAN new_table AS
PUMILI * MULA sa source_table;

Nagbibigay-daan ito sa amin na lumikha ng bagong table na may tinukoy na pangalan mula sa source table.

Kunin halimbawa ang Sakila sample database. Ipagpalagay na gusto naming lumikha ng isang katulad na talahanayan tulad ng talahanayan ng mga rental.

Maaari naming gamitin ang nakaraang pamamaraan tulad ng ipinapakita sa sumusunod na halimbawang query:

GUMAWA NG TABLE rental_copy AS
PUMILI * MULA sa pagrenta;

Dapat itong lumikha ng bagong talahanayan na tinatawag na 'rental_copy' na naglalaman ng parehong istraktura at data tulad ng talahanayan ng rental.

Maaari mong i-verify sa pamamagitan ng pagpili ng data mula sa talahanayan tulad ng sumusunod:

PUMILI * MULA sa rental_copy;

Dapat itong maglaman ng eksaktong data bilang talahanayan ng rental.

Paraan 2: Global (Gamit ang INSERT INTO Statement)

Ang isa pang paraan na suportado sa buong mundo ng malawak na iba't ibang database ng SQL ay ang paggamit ng INSERT INTO na pahayag.

Ang diskarteng ito ay nagpapahintulot sa amin na kopyahin mula sa isang talahanayan patungo sa isa pa. Hindi tulad ng CREATE TABLE at SELECT, binibigyang-daan kami ng paraang ito na piliing kunin ang data.

Ito ay madaling gamitin kapag kailangan namin ng higit na kontrol sa proseso ng pagkopya. Maaari naming gamitin ang syntax tulad ng ipinapakita sa sumusunod:

INSERT SA target_table ( column1, column2, ... )
PUMILI ng column1, column2, ...
MULA sa source_table;

Sa kasong ito, maaari naming tukuyin ang mga column na gusto naming isama sa bagong talahanayan nang hindi aktwal na kinukuha ang lahat mula sa orihinal na talahanayan.

Kunin ang sumusunod na query bilang halimbawa:

INSERT
SA
rental_copy ( rental_id,
rental_date,
return_date )
PUMILI
rental_id,
rental_date,
return_date
MULA SA
upa r;

Ang isang disbentaha ng pamamaraang ito ay maaaring kailanganin kang lumikha ng katulad na talahanayan na may mga column na nais mong isama. Maaari itong maging paulit-ulit at mahusay kapag nagtatrabaho sa isang malaking dataset.

Paraan 3: Kopyahin ang Istraktura ng Talahanayan

Sa ibang mga kaso, maaari kang makakita ng mga pagkakataon kung saan interesado ka sa istraktura ng talahanayan nang hindi nangangailangan ng data na nakaimbak sa talahanayan.

Sa ganoong sitwasyon, maaari mong gamitin ang CREATE TABLE na pahayag kasabay ng LIKE clause gaya ng sumusunod:

GUMAWA ng TALAHANAAN new_table ( I-LIKE ang source_table ) ;

Dapat itong lumikha ng isang bagong talahanayan na may tinukoy na pangalan at katulad na istraktura bilang 'source_table' nang hindi aktwal na kinokopya ang data.

Pagkopya ng Mga Talahanayan sa pagitan ng Mga Database

Upang kopyahin ang mga talahanayan sa pagitan ng iba't ibang mga database, maaari naming i-export ang data mula sa source database at i-import ito sa target na database.

Karaniwang kinabibilangan ito ng paggamit ng mga format na nakabatay sa file tulad ng CSV o mga tool na partikular sa database. Maaari mong i-reference ang dokumentasyon para sa iyong database kung paano ito gagawin dahil maaaring mag-iba ito depende sa database engine.

Paraan 4: Paggamit ng Mga Naka-link na Server (SQL Server)

Sa SQL Server, maaari naming kopyahin ang mga talahanayan sa pagitan ng mga database gamit ang Linked Servers.

Binibigyang-daan kami ng mga Linked Server na magtatag ng koneksyon sa isang malayuang database at mag-query o maglipat ng data sa pagitan nila.

Ang syntax ay ang mga sumusunod:

IPASOK SA [ LinkedServerName ] . [ Pangalan ng Database ] . [ Pangalan ng Schema ] . [ target_table ]
PUMILI * MULA sa source_table;

Nagbibigay-daan ito sa malayuang koneksyon at paglilipat ng data sa pagitan ng mga malalayong server.

Konklusyon

Sa tutorial na ito, natutunan namin kung paano gumamit at magtrabaho sa iba't ibang pamamaraan at diskarte sa pagkopya ng talahanayan sa SQL.