SQL SELECT INTO, Bir tablo üzerinde riskli bir işlem yapılacağında veya o tablonun yedeğini almak istediğimiz durumlarda SELECT INTO cümlesi imdadımıza yetişir. Bu makalemizde SELECT INTO sözdizimiyle yapılabilecek işlemler ile ilgili örnek SQL cümlelerini göreceğiz.
SQL SELECT INTO Nedir, Nasıl Kullanılır?
Tablonun tam olarak yedeğini alma
From’dan sonra belirtilen tablo1 adı yazan kısma tüm alanların kopyası alınacak tablo1 adı yazılmıştır.
1 2 3 4 5 6 | -- Bu sql cümlesinde istersek harici bir veritabani içerisinden -- tablo1 adındaki tablonun kopyasını yenitablo adındaki tabloya alıyoruz SELECT * INTO yenitablo [hariciVeritabanı] FROM tablo1; |
Tablonun belirtilen alanlarıyla yedeğini alma
From’dan sonra belirtilen tablo1 adı yazan kısma yedeği alınacak alanların bulunduğu tablonun adı yani alttaki örneğe göre tablo1 adı yazılmıştır. Üstteki örnekten farkı tüm tablonun yedeği değilde sadece yedeğini almak istediğimiz alanların adını alttaki örnekte kolon_adları kısmına yazmamız gereklidir.
1 2 3 4 5 6 | -- Bu sql cümlesinde istersek harici bir veritabani içerisinden tablo1 -- adındaki tablonun sadece belirtmiş olduğumuz alanların yedeğini almaktayız SELECT kolon_adları INTO yenitablo [hariciVeritabanı] FROM tablo1; |
Yedeğini almak istediğiniz alanın adını yedek alırken değiştirmek için AS cümleciği kullanılabilir.
Tablonun yedeğini alma
Aynı veritabanı içerisindeki tablonun yedeğini almak için yukarıdaki örneklerde olduğu gibi ‘select *’ ile tüm kolonların yedeğini almak istediğimizi ve into’da belirtilen ‘MusterilerYedek2013’ yeni bir tablo adıyla From kısmında belirtilen Musteriler tablosunun yedeği alınmaktadır.
1 2 3 4 5 | -- Bu sql cümlesi ile Musteriler tablosundaki tüm kayıtlar MusterilerYedek2013 -- adlı yeni tablo oluşturulacak ve tüm kayıtların yedeği alınacaktır. SELECT * INTO MusterilerYedek2013 FROM Musteriler; |
Harici tablodan yedek alma örneği
Harici veritabanı içerisindeki tablonun yedeğini almak için yukarıdaki örneklerde olduğu gibi ‘select *’ ile tüm kolonların yedeğini almak istediğimizi ve into’da belirtilen ‘MusterilerYedek2013’ yeni bir tablo adıyla From kısmında belirtilen Musteriler tablosunun yedeği alınmaktadır. IN kelimesi ilede hangi harici veritabanından yedek alınacağı belirtilmektedir.
1 2 3 4 5 6 7 | -- Bu sql cümlesi ile Yedek.mdb veritabanında Musteriler tablosundaki -- tüm kayıtlar MusterilerYedek2013 adlı yeni tablo oluşturulacak -- ve tüm kayıtların yedeği alınacaktır. SELECT * INTO MusterilerYedek2013 IN 'Yedek.mdb' FROM Musteriler; |
Sadece belirli alanların yedeğini alma örneği
SELECT cümlesinde sadece belirttiğimiz kolonların yedeğini alabiliriz. Bu örnektede Musteriler tablosundan MusteriAdi ve IletisimAdi kolonları MusterilerYedek2013 adlı yeni bir tabloya kaydedilecektir.
1 2 3 | SELECT MusteriAdi, IletisimAdi INTO MusterilerYedek2013 FROM Musteriler; |
Sadece belirli alanların yedeğini alma örneği
WHERE cümlesindeki koşullara göre tablonun yedeğini almayı bu örnekte görebilirsiniz.
1 2 3 4 | SELECT * INTO MusterilerYedek2013 FROM Musteriler WHERE Ulke='Türkiye'; |
JOIN ile tabloların birleşiminden oluşan sonucun yedeğini bir tabloya kaydetme
JOIN ile tablolarin birlesimi sonucunda yedeğini almak istediğimiz kodları yazdıktan sonra MusterilerYedek2013 adlı yeni tabloya verilerimiz yedeklenecektir.
1 2 3 4 5 | SELECT Musteriler.MusteriAdi, Siparisler.SiparisID INTO MusterilerYedek2013 FROM Musteriler LEFT JOIN Siparisler ON Musteriler.MusteriID=Siparisler.MusteriID; |
İpucu:Tabloların kaydınının yedeğini almadan sadece yapısınının yedeğini almak istediğiniz durumlarda aşağıdaki sorgu işinize yarayacaktır. Where cümlesindeki 1 eşitse 0’a ifadesi her zaman yanlış sonuc olarak değerlendirileceği için hiçbir kayıt gelmeyecektir ve böylece sadece tablonun yedeğini alabileceksiniz.
1 2 3 4 | SELECT * INTO yenitablo FROM tablo1 WHERE 1=0; |
📝 SQL SELECT INTO Özeti
Bu makalede tablo özelinde riskli bir işlem gerçekleştirmeden önce yada istediğiniz anda belirli bir tablonun yedeğini almak istediğinizde kullanabileceğiniz select into ifadesinden bahsettik. Umarım faydalı olmuştur.
📚 SQL SELECT INTO Benzeri Makaleler
✍ Lütfen SQL SELECT INTO ile alakalı olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.
🔗 Sosyal medya kanallarından makaleyi paylaşarak destek olursanız çok sevinirim.
👋 Bir sonraki makalede görüşmek dileğiyle.
Aslında şöyle çok eski SQL 2005 te olan bir database SQL2016 taşımam gerekiyor C# ile. Bunu 2 yöntemle yapabilirim. Backup Restore yaparak yada eski database tablolarının içindeki bütün veriyi toplayıp bir xlsx aktararak yada tabloları baska biryerde tutarak daha sonra sql 2016 aktarabilirim. Aklıma bu yöntemler geldi. Sizce nasıl olur en kolay yolu 2005 ten 2016 database aktarma
Hocam SQL 2005’te olan eski bir database SQL 2016 aktarmak gerekiyor nasıl yapabilirim ?
c# kullanıyorumda başka bir dosya içine veritabanı komple veya sadece tablo yedeğini nasıl alabilirim sql ile. teşeküürler şimdiden
Dosya dediğiniz cvs, xls v.b. sql’den veritabanından farklı olan bir dosyayamı yazma işlemi istiyorsunuz.
Çok teşekkürler murat kardeşim çok sade ve akılcı bir anlatım olmuş . Aklına zekana sağlık sevgilerle..
Rica ederim. güzel yorumunuz için ben teşekkür ederim.