Sql insert ile birçok data nasıl eklenir

Buradaki örneği sadece mysql başlığı altında sınırlandırmak istemedim. Neticede SQL bu, ve neredeyse birçok veritabanında geçerli tüm fonksiyonları.. Veritabanımızdaki bir tabloya insert fonksiyonu kullanarak tek bir sorgu ile birden fazla datayı nasıl ekleyeceğimizi göreceğiz.

Birden çok datayı aynı tabloya girmek için birçok programcı döngüler sayesinde arka arkaya ekleme sorguları yollamayı tercih eder. Örneğin;


$toplam_data = 10 // burada toplam data sayımızı rasgele olarak tanımladım..
for ($i=1;$i<=$toplam_data;$i++) {
mysql_query("insert into deneme_tablo (ID, isim) values (NULL,'$isim')");
}

şeklinde tercih eder. Eklemeniz gereken dataların toplam sayısı 10 değilde 100 ise ne olacak 😕 İnanılmaz bir yük binecektir sunucuya. Halbuki bunları 1 seferde eklemeniz söz konusu.


mysql_query("insert into deneme_tablo (ID, isim) values (NULL,'Hakan'), (NULL,'Ayşegül'), (NULL,'Fatih') ");

Yukarıdaki gibi tek bir sorgu, Hakan, Ayşegül ve Fatih isimlerini tabloya ekleyecektir.

Döngülerde yürütmeniz gereken tek mantık, dataları mümkünse (NULL,’Hakan’) tarzına getirmek ve yan yana virgüller ile ayırtmak. Eğer mümkün değilse bu dataları yine (NULL,’Hakan’) formatını içeren dizi değişkene eklemek. Ve son olarak ise o dizini değişkeni implode fonksiyonu aracılığı ile (,) virgül ayıracı ile birleştirmek. Hem kodtan hem de hızdan kazanacaksınız 😉