Mysql veri tabanına birden fazla veriyi insert, delete, update yapmamız gerekebilir. Bu yazımda sizlere bunu mysql ile nasıl yapacağımızı anlatmaya çalışacağım.

İlk olarak mysql tablomuzu oluşturalım.

CREATE TABLE `yazilar` (
`yazi_id`  int(20) UNSIGNED NOT NULL AUTO_INCREMENT ,
`yazi`  text NOT NULL ,
`baslik`  text NOT NULL ,
`yazi_durumu`  varchar(20) NOT NULL ,
PRIMARY KEY (`yazi_id`)
);

Tablomuzda id(primary key), yazi, baslik, ve durum sütunları bulunmaktadır. Örneklerimizi bu tabloya göre yapacağız .

Çoklu INSERT

Tablomuza 4 satır ekleyelim . Her satır için tek tek sorgu yapmak yerine tek seferde tablomuza ekleyeceğiz.

INSERT INTO tablo_adi
  (id, yazi, baslik, durum)
VALUES
  ( 1, 'Yazi 1', 'Başlık 1', 'yayinda'),
  ( 2, 'Yazi 2', 'Başlık 2', 'yayinda'),
  ( 3, 'Yazi 3', 'Başlık 3', 'yayinda'),
  ( 4, 'Yazi 4', 'Başlık 4', 'yayinda');

Sütun isimlerini yazmadan insert işlemeni şu şekilde de yapabilirsiniz .

INSERT INTO tablo_adi
VALUES
  ( 1, 'Yazi 1', 'Başlık 1', 'yayinda'),
  ( 2, 'Yazi 2', 'Başlık 2', 'yayinda'),
  ( 3, 'Yazi 3', 'Başlık 3', 'yayinda'),
  ( 4, 'Yazi 4', 'Başlık 4', 'yayinda');

Çoklu UPDATE

Şimdi bu eklediğimiz 4 satırı güncelleyelim. Bu 4 satırdaki 'durum' sütunundaki değerleri 'taslak' olarak değiştirelim. Sql kodumuz şu şekilde olacak .

UPDATE tablo_adi
SET durum= 'taslak'
WHERE id IN (1,2,3,4);

Bütün satırlardaki değerleri farklı olarak kaydetmek isterseniz sql kodumuz ;

UPDATE tablo_adi SET
yazi = CASE
WHEN id = 1 THEN 'yazi 1 update'
WHEN id = 2 THEN 'yazi 1 update'
END,
baslik = CASE
WHEN id = 1 THEN 'Baslik 1 update'
WHEN id = 2 THEN 'Baslik 1 update'
END
WHERE id IN (1,2);

Aslında buradaki WHERE id (1,2) yazmadığımızda da update işlemini daha yavaş yapıyor .

WHERE id (1,2) kullandığımızda sorgu süresi :
Affected rows: 2
Time: 0.001ms

WHERE id (1,2) kullanmadığımızda sorgu süresi :
Affected rows: 2
Time: 0.003ms

Çoklu DELETE

Şimdi de eklediğimiz bu 4 satırı silelim :

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

Faydalı olması dileğiyle herkese iyi çalışmalar :) .