INSERT INTO ifadesi ile bir tablodaki verileri alıp varolan bir tablo içine kopyalayabiliriz. Hedefte belirttiğimiz tablonun var olması gerekmektedir. Hedef tabloda var olan alanlar silinmez. Var olan alanların yanına yeni alanlar eklenir.
INSERT INTO Kullanım Biçimi
INSERT INTO Hedef_tablo (alan_adi1,alan_adi2…) SELECT alan_adi1,alan_adi2… FROM tablo1 |
INSERT INTO Örnekleri:
– Tablomuzdaki bütün alanları kopyalama: Eğer tablomuzdaki bütün alanların hepsini almak istersek alan adlarını tek tek belirtmemize gerek yoktur. Aşağıdaki kod ile Personel tablomuzdaki bütün alanlar verileri ile birlikte olduğu gibi alınarak personel_yedek tablosuna (mevcut alanlar korunarak) eklenir.
INSERT INTO personel_yedek SELECT * FROM personel |
– Tablomuzdaki alanların adını değiştirerek kopyalama: Tablomuzda bulunan alanları hedef tablomuza başka bir isimle oluşturabiliriz. Aşağıdaki örnekte Personel tablosundaki ad_soyad alanı Personel_yedek tablosuna isim olarak kopyalanıyor. Ancak Sehir alanı olduğu gibi kopyalanıyor.
INSERT INTO personel_yedek (isim, sehir) SELECT ad_soyad, sehir FROM personel |
– Belli kritere göre seçilen kayıtları kopyalama: Tablomuzda bulunan kayıtları istediğimiz bir kritere göre seçerek başka 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 var olan tabloya isim olarak aktarılıyor.
INSERT INTO istanbul_personelleri (isim) SELECT ad_soyad FROM personel WHERE sehir=’istanbul’ |