Aşağıda, SQL’de bir tablodaki verileri başka bir tabloya aktarma veya kopyalama işlemi için kullanabileceğiniz INSERT INTO SELECT ifadesiyle ilgili bir örnek bulunmaktadır. Bu örnek, tablodaki tüm verilerin başka bir tabloya kopyalanmasını sağlamaktadır.
1 2 3 |
INSERT INTO hedef_tablo (sütun1, sütun2, sütun3, ...) SELECT sütun1, sütun2, sütun3, ... FROM kaynak_tablo; |
Yukarıdaki ifadeyi kullanırken, aşağıdaki değişiklikleri yapmanız gerekmektedir:
hedef_tablo
: Verilerin kopyalanacağı hedef tablo adı.kaynak_tablo
: Verilerin alınacağı kaynak tablo adı.sütun1, sütun2, sütun3, ...
: Kopyalanacak sütunların adları. Bu sütunları hedef tabloda tanımlanmış sütunlarla eşleştirmelisiniz.
Örneğin, “kaynak_tablo” adlı bir tabloda bulunan tüm verileri “hedef_tablo” adlı başka bir tabloya kopyalamak istediğinizi varsayalım. Sütunlar aynı isimlere sahip olduğunu varsayalım. Aşağıdaki gibi bir SQL ifadesi kullanabilirsiniz:
1 2 3 |
INSERT INTO hedef_tablo SELECT * FROM kaynak_tablo; |
Bu ifade, “kaynak_tablo” tablosundaki tüm verileri “hedef_tablo” tablosuna kopyalar. *
sembolü, tüm sütunları seçmek için kullanılır. Sütunların sırası ve veri tipleri aynı olmalıdır.
Bu yöntemle, bir tablodaki verileri seçerek belirli kriterlere veya filtrelemelere göre başka bir tabloya kopyalayabilirsiniz. SELECT ifadesini kullanarak verileri dilediğiniz şekilde filtreleyebilirsiniz. Örneğin:
1 2 3 4 |
INSERT INTO hedef_tablo (sütun1, sütun2, sütun3) SELECT sütun1, sütun2, sütun3 FROM kaynak_tablo WHERE sütun1 = 'değer'; |
Bu örnekte, “kaynak_tablo” tablosundan sadece belirli bir değere sahip olan satırlar “hedef_tablo” tablosuna kopyalanır.
SQL’de INSERT INTO SELECT ifadesi, verilerin tablo arasında taşınması veya kopyalanması için güçlü bir araçtır. Ancak, dikkatli olmanız ve hedef tabloda uyumlu sütunlar olduğundan emin olmanız önemlidir. Ayrıca, kaynak ve hedef tabloların doğru izinlere sahip olduğundan emin olmalısınız.