PhpMyAdmin'de bir MYSQL tablosundaki tüm kayıtları sil


122

Wampserver 2.2 kullanıyorum. PhpMyAdmin'de bir tablonun tüm kayıtlarını silmek istediğimde (tümünü seç), tüm kayıtları değil yalnızca bir kaydı siliyor. Neden tüm kayıtları silmiyor?


3
sorgunuza bağlıdır, böyle mi çalıştırdınız? DELETE FROM tableName
John Woo

Tablo adını vurgulayın ve basınSHIFT-DEL
DevlshOne

Yanıtlar:


130

Db -> yapınıza gidin ve gerekli tabloda boş bırakın. Buraya bakın:

bu ekran görüntüsü


167

2 seçeneğiniz var deleteve truncate:

  1. delete from mytable

    Bu, otomatik artımlı kimliği sıfırlamaz, tablonun tüm içeriğini siler, bu işlem çok yavaştır. Belirli kayıtları silmek isterseniz, sonuna bir where cümlesi ekleyin.

  2. truncate myTable

    Bu, tabloyu sıfırlayacaktır, yani tüm otomatik artan alanlar sıfırlanacaktır. Bu bir DDL ve çok hızlı. Üzerinden belirli bir kaydı silemezsiniz truncate.



27

Bu sorguyu kullanın:

DELETE FROM tableName;

Not: Belirli bir kaydı silmek için, sorgudaki where cümlesi koşulunu da verebilirsiniz.

VEYA bu sorguyu da kullanabilirsiniz:

truncate tableName;

Ayrıca diğer masa ile herhangi bir ilişkinizin olmaması gerektiğini unutmayın. Tabloda herhangi bir yabancı anahtar kısıtlaması olacaksa, bu kayıtlar silinmeyecek ve hata verecektir.


19

Bu komutla tüm satırları silebilirsiniz, ancak bir kez kesme komutunu çalıştırdığınızda onu geri alamayacağınızı unutmayın.

  truncate tableName;

11

'Truncate tableName', tanımlanmış anahtar kısıtlaması olan bir tabloda başarısız olur . Ayrıca tablo AUTO_INCREMENTdeğerini yeniden indekslemeyecektir . Bunun yerine, tüm tablo girişlerini silin ve bu sql sözdizimini kullanarak indekslemeyi 1'e sıfırlayın:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

4

İlginç bir gerçek.

TRUNCATE'in her zaman daha iyi performans göstereceğinden emindim, ancak benim durumumda, yalnızca birkaç satırla doldurulmuş yaklaşık 30 tabloya sahip bir db için, yalnızca birkaç yüz milisaniyenin aksine tüm tabloları TRUNCATE yapmak yaklaşık 12 saniye sürdü satırları SİLMEK için. Otomatik artışı ayarlamak toplamda yaklaşık bir saniye ekler, ancak yine de çok daha iyi.

Bu yüzden ikisini de denemenizi öneririm, sizin durumunuz için hangisinin daha hızlı çalıştığını görün.



0
  • Phpmyadmin'i ziyaret edin
  • Veritabanınızı seçin ve yapıya tıklayın
  • Tablonuzun önünde Boş'u görebilir , üzerine tıklayarak seçili tablodaki tüm girişleri temizleyebilirsiniz.

demo-veritabanı yapısı

Ya da aynısını sql sorgusu kullanarak yapabilirsiniz:

Yan Yapı boyunca mevcut olan SQL'e tıklayın

TRUNCATE tablename; //offers better performance, but used only when all entries need to be cleared
or
DELETE FROM tablename; //returns the number of rows deleted

Ayrıntılı belgeler için DELETE ve TRUNCATE'e bakın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.