Hapus semua catatan dalam tabel MYSQL di phpMyAdmin


122

Saya menggunakan wampserver 2.2. Ketika saya ingin menghapus semua record dari sebuah tabel di phpMyAdmin (pilih semua) itu hanya menghapus satu record, tidak semua record. Mengapa tidak menghapus semua catatan?


3
bergantung pada kueri Anda, apakah Anda mengeksekusi seperti ini? DELETE FROM tableName
John Woo

Sorot nama tabel dan tekanSHIFT-DEL
DevlshOne

Jawaban:


130

Pergi ke db Anda -> struktur dan kosongkan di tabel yang diperlukan. Lihat disini:

tangkapan layar ini


167

Anda memiliki 2 opsi deletedan truncate:

  1. delete from mytable

    Ini akan menghapus semua konten tabel, tidak menyetel ulang id autoincremental, proses ini sangat lambat. Jika Anda ingin menghapus rekaman tertentu menambahkan klausa where di akhir.

  2. truncate myTable

    Ini akan mengatur ulang tabel yaitu semua bidang penambahan otomatis akan disetel ulang. Ini adalah DDL dan sangat cepat. Anda tidak dapat menghapus rekaman tertentu melalui truncate.



27

Gunakan kueri ini:

DELETE FROM tableName;

Catatan: Untuk menghapus beberapa catatan tertentu Anda bisa memberikan kondisi di mana klausa dalam kueri juga.

ATAU Anda juga dapat menggunakan kueri ini:

truncate tableName;

Juga ingat bahwa Anda tidak boleh memiliki hubungan apapun dengan tabel lain. Jika akan ada batasan kunci asing di tabel maka record tersebut tidak akan dihapus dan akan memberikan error.


19

Anda dapat menghapus semua baris dengan perintah ini, tetapi ingat satu hal bahwa setelah Anda menjalankan perintah truncate, Anda tidak dapat mengembalikannya.

  truncate tableName;

11

'Truncate tableName' akan gagal pada tabel dengan batasan kunci yang ditentukan. Ini juga tidak akan mengindeks ulang AUTO_INCREMENTnilai tabel . Sebagai gantinya, Hapus semua entri tabel dan setel ulang pengindeksan kembali ke 1 menggunakan sintaks sql ini:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

4

Fakta yang menarik.

Saya yakin TRUNCATE akan selalu berkinerja lebih baik, tetapi dalam kasus saya, untuk db dengan kira-kira 30 tabel dengan kunci asing, diisi hanya dengan beberapa baris, butuh waktu sekitar 12 detik untuk MENGHANCURKAN semua tabel, dibandingkan dengan hanya beberapa ratus milidetik untuk MENGHAPUS baris. Menyetel kenaikan otomatis menambahkan total sekitar satu detik, tetapi masih jauh lebih baik.

Jadi saya sarankan untuk mencoba keduanya, lihat mana yang bekerja lebih cepat untuk kasus Anda.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.