iletişim bilgileri http://iletisimbilgileri.org//iletişim bilgileri

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.

0,611