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?

Amirhosein Heydari
sumber
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

Yalamber
sumber
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.

Sashi Kant
sumber
130

Pergi ke tab Sql, jalankan salah satu dari kueri di bawah ini:

delete from tableName;

Hapus : akan menghapus semua baris dari tabel Anda. Penyisipan berikutnya akan mengambil id kenaikan otomatis berikutnya.

atau

truncate tableName;

Truncate : juga akan menghapus baris dari tabel Anda tetapi akan dimulai dari baris baru dengan 1.

Blog mendetail dengan contoh: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/

Suresh Kamrushi
sumber
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.

Kode L ღ ver
sumber
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;
Gen
sumber
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
DevWL
sumber
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.

Sorin
sumber
1

tulis kueri: truncate 'Your_table_name';

Shadman Sakib
sumber