MySQL

MySQL Toplu Veri Değiştirme

Merhaba arkadaşlar bu yazıda MySQL UPDATE komutu ile REPLACE fonksiyonun kullanımını göstereceğim.

REPLACE neden kullanılır. bir alandaki verileri bulup başka bir değer ile değiştirmek isteyebilirsiniz. Örneğin, wordpress sitenizdeki yorumlar içindeki bazı verileri istediğiniz şekilde değiştirmek. Örnekleri arttırmak mümkün ben basit bir öğrenci tablosu üzerinden konuyu anlatacağım.

Öncelikle ne yapacağım hakkında fikir sahibi olmanız için bilgi vereyim. Senaryo şu şekilde öğrenci takibini sağladığım “ÖĞRENCİ TAKİP” sistemimdeki öğrencilerin sınıflarını bir üst sınıfa geçirmem gerekiyor. Öğrencilerin sınıf bilgilerini normalizasyon kurallarını dikkate almadan 10A, 10B, 11A, 12C gibi kaydettim. Her öğrenciyi bir üst sınıfa geçirmek için toplu olarak güncelleme sorgusu yazacağım. 12. sınıfları mezun, 11.sınıfları 12, 10. sınıfları da 11 olarak değiştireceğim.

UPDATE deyimini kullanımı

REPLACE fonksiyonu Kullanımı

alan tablodaki hangi alandaki veri olacağını, eski_string alandaki değiştirilecek veriyi, yeni_string ise eski_string’in yerine gelecek olan yeni değeri göstermektedir. Bu oldukça standart bir şey ama komutları çalıştırmadan önce veritabanınızı yedeklemek her zaman iyi bir fikirdir.
Sorgu çalıştırıldığında 11A,11B, 11C gibi 11. sınıf düzeyindeki tüm öğrencileri 12A, 12B, 12C olarak değiştirdi.

 

Yukarıdaki sorguyu string türündeki bütün alanlarınızda kullanabilirsiniz.  Tekrar belirtmek istiyorum yapacağınız bu işlemden önce veritabanını mutlaka yedekleyin.

 

 

 

 

 

 

 

2 Yorum

Yorum yapmak için tıklayın

  • Hocam Selam,
    UPDATE ogrenci
    SET sinif = REPLACE (sinif,’11’,’12’)
    bu kod da 11 eski veri ya peki o lanada hiç veri yoksa ne yazmalıyız?

  • Hocam merhaba kusura bakmayın seni rahatsız ediyorum. Özür Dilerim
    Aşağıdaki gibi bir işlem yapmak istiyorum. bana bu konuda yardımcı ola bilirmisiniz.
    update komutunu beceremedim.

    getMessage();
    }
    if ($baglan) {
    // echo “ERP Bağlantı Başarılı”;
    }else {
    echo “ERP Başarısız”;
    }

    ?>
    getMessage();
    }

    ?>