kodbankasi http://kodbankasi.org/kodbankasi

Mysql Tekrar Eden Kayıtları Silmek

Merhaba,
Bu yazımda kısa ancak gayet önemli bir konu üzerinde duracağım. Veritabanlarında tekrar eden kayıtlar ile herkes haşır neşir olmuştur. Bunu bulmak ve silmek için aşağıdaki kodları kullanabilirsiniz.
Veritabanınızdaki tekrar eden kayıtları aşağıdaki yöntemlerle bulabilirsiniz :

  • Veritabanında kolona göre tekrar eden kayıt sayısını : 

select count(kolon_adi), count(distinct kolon_adi) from tablo_adi

koduyla bulabilirsiniz. ilk bulunan toplam değer, ikinci bulunan değer unique yani benzersiz değerdir. Distinct de benzersiz değerleri bulmaya yardımcı olur. Aradaki virgülü kaldırı ” – ” işareti kullanırsanız toplam tekrar eden veri sayısına ulaşabilirsiniz.

mysql


  • Veritabanında hangi kolonların tekrar ettiğini gösteren sql query kodu : 

SELECT kolon_adi1, kolonadi2, count( * ) AS tekrar
FROM tablo_adi
GROUP BY kolonadi1 (veya hangi kolon kontrol edilecekse)
HAVING tekrar >1
ORDER BY tekrar DESC

 

 

Buradaki püf nokta kontrol edeceğimiz kolonu group_by ile gruplamak ve having komutu ile kaç kere tekrar ettiğini bulmaktır.

  • Veritabanındaki tekrar eden verileri silmemizi sağlayan sql query kodu :

DELETE FROM tablo_adi
USING table_adi, table_adi as virtual_table
WHERE (table_adi.ID = virtual_table.ID)
AND (table_adi.field_name=virtual_table.field_name)

Silme işlemini yapmadan önce kesinlikle veritabanınızın bir yedeğini bilgisayarınıza alınız. Hatayla verilerin hepsini silseniz bile tekrar import edebilirsiniz.

Takıldığınız kısımları konu aşağısındaki yorum bölümünden sorabilirsiniz.

Bir önceki yazımız olan Android Spinner kullanımı başlıklı yazımızı da inceleyebilirsiniz.

4 Yorumlar

  1. Peki Mysql yazdıpım kodların aynısını Oracle ve Microsoft SQL veri tabanlarında da yazmam mümkün mü sizce birde ben yeni başladım sizce hangisi daha kolay öğrenilir ve verimli çalışır.

  2. Konuyu patlatmak istemiyorum ama yardım edebilir misiniz ?

  3. turandurmaz@gmail.com

    Üstad elimde tekrar eden verilerin olduğu bir veritabanı var, ben bu tekrar eden verilerden kaydı ilk girilen veriyi işaretlemek istiyorum ama bir çözüm bulamadım. İşaretlemek aynı satırda yeni açılacak bir alan’a 0 veya 1 gibi bir kayıt girmek şeklinde olacak. Yardımcı olabilirsen çok sevinirim

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.

Bu yazı da ilginizi çekebilir !

Modem Wifi şifresi Değiştirme

Ev veya işyerlerine yeni bağlatılan internet hatlarına genel olarak karmaşık bir şifre veya oldukça basit ...