sql select into kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
sql select into kullanımı etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SELECT INTO kısaca bir tablodan başka bir tabloya verilerin kopyalanmasını sağlar. Yazımı Standard SQL komutu gibidir.
 
SELECT Sütunlar INTO YeniTablo
FROM EskiTablo
 
YeniTablo : Hedef tablo ismi
EskiTablo : Kaynak tablo ismi
Sütunlar : Eski tablodan alınacak sütun isimleri
 
Örnek uygulamamızda Kisiler isimli bir tablomuz bulunmaktadır. Bu tablodaki bütün kayıtları daha önce oluşturmadığımız Kisiler_Yedek tablosuna kopyalalım.
 
Kişiler tablosu aşağıdadır:
 
Kopyalama işlemini gerçekleştirecek SQL komutu :
SELECT * INTO Kisiler_Yedek
FROM Kisiler
 
Kisiler_Yedek tablosunun son görünümü aşağıdaki gibidir:
 
 
Şimdi Kisiler tablosundan daha önce oluşturulmamış olan Kisiler_Yedek2 tablosuna ismi Uğur olan kişilerin kayıtlarını kopyalayalım.
 
Bu işlem için gerekli SQL kodu:
SELECT * INTO Kisiler_Yedek2
FROM Kisiler WHERE adi='Uğur'
 
Sorgu sonucu aşağıdaki gibidir:

SQL - SELECT INTO Kullanımı

SELECT INTO ifadesi ile bir tablodaki verileri alıp yeni bir tablo oluşturup içine kopyalayabiliriz. Sonuçta veritabanında yeni bir tablo oluşturulacağı için veritabanı üzerinde işlem yapan kullanıcının yeni bir tablo oluşturma yetkisine sahip olması gerekmektedir.

SELECT INTO Kullanım Biçimi
SELECT alan_ad(lari)
INTO yeni_tablo_adi [IN hedef_database]
FROM tablo1
NOT 1: Eğer yeni oluşturacağımız tablo aynı veritabanı içindeyse [IN hedef_database] ifadesi kullanılmaz. Eğer farklı bir veritabanı içine kopyasını alacaksak o zaman IN operatörü ile hedef veritabanını belirtmemiz gerekir.

NOT 2: Select Into yapısı ile yeni oluşturulacak olan tabloya, mevcut tablomuzdaki alanlar veri tipleri ve içindeki verilerle birlikte aynen kopyalanır. Eğer alan adını mevcut isminden farklı bir isimle oluşturmak istersek o zaman AS yapısı kullanabiliriz.
SELECT id, ad_soyad AS isim, yasadigi_sehir AS sehir
INTO personel_yedek
FROM personel
NOT 3: Eğer tablo içindeki verileri hariç tutup, sadece alan adları ve veri tiplerini almak istersek WHERE 1=0 eklememiz gerekir.
SELECT id, ad_soyad, sehir
INTO personel_yedek
FROM personel
WHERE 1=0

Select Into Örnekleri:

- Farklı ve harici veritabanına kopyalama
: Acces veritabanlarında geçerli olan bir yapıdır. IN ifadesinden sonra belirtilen yoldaki veritabanına tablomuz kopyalanır.
SELECT *
INTO personel_yedek IN 'c:\backup.mdb'
FROM personel
- Aynı veritabanı içinde tablo kopyalama: Veritabanımızdaki işlem kayıtlarını yıllara göre tuttuğumuzu varsayalım. Her yeni yıl geldiğinde elimizde bulunan boş bir şablon veritabanını kullanarak bir kopyasını yeni çalışma yılı için oluşturabiliriz. Bu örnekte islemler_sablon isimli tablomuzun bir kopyası islemler_2014 adıyla oluşturuluyor. Böylece 2014 yılı için işlem kayıtlarının depolanacağı bir tablo elde etmiş oluruz.
SELECT *
INTO islemler_2014
FROM islemler_sablon
- Belli kritere göre seçilen kayıtları yeni bir tabloya kopyalama: Tablomuzda bulunan kayıtları istediğimiz bir kritere göre seçerek yeni bir tabloya kopyalayabiliriz. Aşağıdaki örnekte Personel tablosunda bulunan kayıtlardan Sehir alanında İstanbul yazanlar seçiliyor. Bu seçilen kayıtlardan sadece ad_soyad alanında bulunan kayıtlar istanbul_personelleri isimli yeni bir tabloya aktarılıyor.

SELECT ad_soyad
INTO istanbul_personelleri
FROM personel
WHERE sehir='istanbul'

SQL SELECT INTO Kullanımı(İnsert İnto Cesitleri)