1 min read

MySQL Bulk Delete, Update ve Insert İşlemleri

En popüler SQL veritabanlarından ve PHP ile neredeyse sorunsuz çalışan bir veritabanı olan MySQL için kendini tekrar eden insert ve update’ler yerine daha kapsamlı geniş ve işimizi bir o kadar hızlandıracak sorgular yapmak mümkün. Özellikle insert  işlemlerinde büyük kolaylık sağlayacaktır birazdan göreceğimiz bulk insert işlemi.

Bulk Insert

INSERT INTO ornek
  (id, adi, deger1, email)
VALUES
  (101, 'İsim 1', 'deger 1', 'email1'),
  (102, 'İsim 2', 'deger 2', 'email2'),
  (103, 'İsim 3', 'deger 3', 'email3'),
  (104, 'İsim 4', 'deger 4', 'email4');

Ekleme yapılacak alanlarımızı yazdıktan sonra her veri bloğundan sonra virgül eklememiz ve ardından yeni veri bloğumuzu eklememiz yeterli.

Bulk Update

UPDATE ornek SET
urun_aciklama = CASE
WHEN id = 1 THEN 'iOS 7 Sürümlü Son Telefon'
WHEN id = 2 THEN 'Android 4.2 Sürümlü Son Telefon'
END,
baslik = CASE
WHEN id = 1 THEN 'Apple iPhone 5s'
WHEN id = 2 THEN 'Sony Xperia Z1'
END
WHERE id IN (1,2);

PHP’de kullanılan İF – Case mantığına çok benzer bir mantıkla yapılan update işlemleri.

Bulk Delete

DELETE FROM tablo WHERE id IN (1,2,3,4);