SQL'de bir Tabloyu kopyalama

Sql De Bir Tabloyu Kopyalama



Yüzeyde veri çoğaltma işlemi verimsiz görünebilir; Bazen aynı tablonun neredeyse birebir kopyasına ihtiyaç duyduğunuz durumlarda çok önemli bir rol oynayabilir.

SQL'de, mevcut bir tabloyu kopyalamak ve yeni tabloyu yeni bir adla ancak aynı verilerle oluşturmak için çeşitli yöntem ve teknikleri kullanabiliriz. Bu, yedekleme, veri dönüştürme, ana tabloyu etkilemeden geçici veri değişiklikleri ve daha fazlası gibi belirli görevlerde çok yararlı olabilir.







Bu kılavuzda bu yöntemleri inceleyeceğiz ve SQL veritabanlarındaki bir tabloyu nasıl kopyalayabileceğimizi öğreneceğiz. Çeşitli SQL veritabanı motorlarının tablo kopyalama işlemini nasıl ele aldığına ilişkin farklılıklar nedeniyle, her veritabanı için tüm yöntemleri kapsamayacağız.



Desteklenen her veritabanı motoru için bir tabloyu nasıl kopyalayabileceğinizi size göstermek amacıyla, desteklendiğinde her veritabanı motoru için en az bir tane ele almaya çalışacağız.



Yöntem 1: Genel (CREATE TABLE İfadesini Kullanma)

Bir tabloyu kopyalamanın en yaygın ve basit yöntemi CREATE TABLE deyimini kullanmaktır.





Normal bir CREATE TABLE deyiminden farklı olarak kaynak tablonun yapısını ve verilerini içeren bir SELECT deyimini iletiyoruz.

Sözdizimi aşağıdaki gibidir:



TABLO yeni_tablo AS'YI OLUŞTURUN
SEÇME * kaynak_tablodan;

Bu, kaynak tablodan belirtilen adla yeni bir tablo oluşturmamızı sağlar.

Örneğin Sakila örnek veritabanını ele alalım. Kiralama tablosuna benzer bir tablo oluşturmak istediğimizi varsayalım.

Aşağıdaki örnek sorguda gösterildiği gibi önceki tekniği kullanabiliriz:

TABLE kiralama_kopyası AS'YI OLUŞTURUN
SEÇME * KİRALAMADAN;

Bu, kiralama tablosuyla aynı yapıyı ve verileri içeren 'rental_copy' adında yeni bir tablo oluşturmalıdır.

Aşağıdaki gibi tablodan verileri seçerek doğrulama yapabilirsiniz:

SEÇME * FROM kira_kopyası;

Bu, kiralama tablosu olarak tam verileri içermelidir.

Yöntem 2: Genel (INSERT INTO İfadesini Kullanma)

Genel olarak çok çeşitli SQL veritabanı tarafından desteklenen başka bir yöntem, INSERT INTO ifadesinin kullanılmasıdır.

Bu teknik bir tablodan diğerine kopyalama yapmamızı sağlar. CREATE TABLE ve SELECT yöntemlerinden farklı olarak bu yöntem, verileri seçici olarak getirmemize olanak tanır.

Kopyalama sürecinde daha fazla kontrole ihtiyacımız olduğunda bu kullanışlı oluyor. Sözdizimini aşağıda gösterildiği gibi kullanabiliriz:

hedef_tabloya EKLEYİN ( sütun1, sütun2, ... )
Sütun1, sütun2, ...'yi SEÇİN
kaynak_tablodan;

Bu durumda, orijinal tablodaki her şeyi getirmeden, yeni tabloya dahil etmek istediğimiz sütunları belirtebiliriz.

Örneğin aşağıdaki sorguyu alın:

SOKMAK
İÇİNE
kiralık_kopya ( kiralama_id,
kiralama_tarihi,
dönüş tarihi )
SEÇME
kiralama_id,
kiralama_tarihi,
dönüş tarihi
İTİBAREN
kiralama r;

Bu yöntemin bir dezavantajı, eklemek istediğiniz sütunlarla benzer bir tablo oluşturmanızı gerektirebilmesidir. Büyük bir veri kümesiyle çalışırken bu tekrarlanabilir ve verimli olabilir.

Yöntem 3: Tablo Yapısını Kopyalayın

Diğer durumlarda, tabloda depolanan verilere ihtiyaç duymadan tablo yapısıyla ilgilendiğiniz örneklerle karşılaşabilirsiniz.

Böyle bir senaryoda, CREATE TABLE deyimini LIKE deyimiyle birlikte aşağıdaki şekilde kullanabilirsiniz:

TABLO OLUŞTURUN new_table ( LIKE kaynak_tablosu ) ;

Bu, verileri gerçekten kopyalamadan, belirtilen ad ve 'kaynak_tablo'ya benzer yapıya sahip yeni bir tablo oluşturmalıdır.

Tabloların Veritabanları Arasında Kopyalanması

Tabloları farklı veritabanları arasında kopyalamak için, verileri kaynak veritabanından dışa aktarabilir ve hedef veritabanına aktarabiliriz.

Bu genellikle CSV gibi dosya tabanlı formatların veya veritabanına özgü araçların kullanılmasını içerir. Veritabanı motoruna bağlı olarak değişiklik gösterebileceğinden, bunun nasıl gerçekleştirileceği konusunda veritabanınızın belgelerine başvurabilirsiniz.

Yöntem 4: Bağlantılı Sunucuları Kullanma (SQL Server)

SQL Server'da Bağlantılı Sunucuları kullanarak tabloları veritabanları arasında kopyalayabiliriz.

Bağlantılı Sunucular uzak bir veritabanına bağlantı kurmamıza ve bunlar arasında veri sorgulamamıza veya aktarmamıza olanak tanır.

Sözdizimi aşağıdaki gibidir:

TAKIN [ BağlantılıSunucuAdı ] . [ Veri tabanı ismi ] . [ ŞemaAdı ] . [ hedef_tablo ]
SEÇME * kaynak_tablodan;

Bu, uzak sunucular arasında uzaktan bağlantı ve veri aktarımına olanak sağlar.

Çözüm

Bu eğitimde, SQL'de bir tabloyu kopyalamanın çeşitli yöntem ve tekniklerini nasıl kullanacağımızı ve bunlarla nasıl çalışacağımızı öğrendik.