ลบระเบียนทั้งหมดในตารางของ MYSQL ใน phpMyAdmin


122

ฉันใช้ wampserver 2.2 เมื่อฉันต้องการลบระเบียนทั้งหมดของตารางใน phpMyAdmin (เลือกทั้งหมด) มันจะลบเพียงระเบียนเดียวไม่ใช่ทุกระเบียน เหตุใดจึงไม่ลบบันทึกทั้งหมด


3
ขึ้นอยู่กับคำถามของคุณคุณดำเนินการเช่นนี้หรือไม่? DELETE FROM tableName
John Woo

เน้นชื่อตารางแล้วกดSHIFT-DEL
DevlshOne

คำตอบ:


130

ไปที่โครงสร้าง db -> ของคุณและว่างเปล่าในตารางที่ต้องการ ดูที่นี่:

ภาพหน้าจอนี้


167

คุณมี 2 ตัวเลือกdeleteและtruncate:

  1. delete from mytable

    การดำเนินการนี้จะลบเนื้อหาทั้งหมดของตารางโดยไม่รีเซ็ตรหัสการสร้างอัตโนมัติกระบวนการนี้ช้ามาก หากคุณต้องการลบบันทึกเฉพาะให้ผนวก where clause ที่ท้าย

  2. truncate myTable

    การดำเนินการนี้จะรีเซ็ตตารางนั่นคือฟิลด์ที่เพิ่มขึ้นอัตโนมัติทั้งหมดจะถูกรีเซ็ต DDL และมันเร็วมาก คุณไม่สามารถลบระเบียนที่เฉพาะเจาะจงใด ๆ truncateผ่านทาง


130

ไปที่แท็บ Sql เรียกใช้แบบสอบถามด้านล่าง:

delete from tableName;

ลบ : จะลบแถวทั้งหมดจากตารางของคุณ การแทรกถัดไปจะใช้รหัสการเพิ่มอัตโนมัติถัดไป

หรือ

truncate tableName;

ตัดทอน : จะลบแถวออกจากตารางของคุณด้วย แต่จะเริ่มจากแถวใหม่ด้วย 1

บล็อกโดยละเอียดพร้อมตัวอย่าง: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/


27

ใช้แบบสอบถามนี้:

DELETE FROM tableName;

หมายเหตุ: หากต้องการลบระเบียนเฉพาะบางรายการคุณสามารถกำหนดเงื่อนไขในส่วนคำสั่งในแบบสอบถามได้ด้วย

หรือคุณสามารถใช้แบบสอบถามนี้ได้เช่นกัน:

truncate tableName;

โปรดจำไว้ว่าคุณไม่ควรมีความสัมพันธ์กับโต๊ะอื่น ๆ หากมีข้อ จำกัด ของคีย์ต่างประเทศในตารางระเบียนเหล่านั้นจะไม่ถูกลบและจะทำให้เกิดข้อผิดพลาด


19

คุณสามารถลบแถวทั้งหมดด้วยคำสั่งนี้ แต่จำไว้อย่างหนึ่งว่าเมื่อคุณเรียกใช้คำสั่ง truncate แล้วคุณจะไม่สามารถย้อนกลับได้

  truncate tableName;

11

'Truncate tableName' จะล้มเหลวบนตารางที่มีการกำหนดข้อ จำกัด ของคีย์ นอกจากนี้ยังจะไม่จัดทำดัชนีAUTO_INCREMENTค่าตารางอีกครั้ง ให้ลบรายการตารางทั้งหมดและรีเซ็ตการจัดทำดัชนีกลับเป็น 1 โดยใช้ไวยากรณ์ sql นี้:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

4

ข้อเท็จจริงที่น่าสนใจ

ฉันแน่ใจว่า TRUNCATE จะทำงานได้ดีขึ้นเสมอ แต่ในกรณีของฉันสำหรับ db ที่มีตารางประมาณ 30 ตารางที่มีคีย์ต่างประเทศซึ่งมีเพียงไม่กี่แถวเท่านั้นใช้เวลาประมาณ 12 วินาทีในการตัดทอนตารางทั้งหมดซึ่งต่างจากเพียงไม่กี่ร้อยมิลลิวินาที เพื่อลบแถว การตั้งค่าการเพิ่มอัตโนมัติจะเพิ่มผลรวมประมาณหนึ่งวินาที แต่ก็ยังดีกว่ามาก

ดังนั้นฉันขอแนะนำให้ลองทั้งสองอย่างดูว่าตัวไหนทำงานได้เร็วกว่าสำหรับกรณีของคุณ



0
  • ไปที่ phpmyadmin
  • เลือกฐานข้อมูลของคุณและคลิกที่โครงสร้าง
  • ด้านหน้าตารางของคุณคุณจะเห็นว่างเปล่าคลิกเพื่อล้างรายการทั้งหมดจากตารางที่เลือก

สาธิตฐานข้อมูลโครงสร้าง

หรือคุณสามารถทำได้โดยใช้แบบสอบถาม sql:

คลิกที่SQLนำเสนอพร้อมโครงสร้างด้านข้าง

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

อ้างถึงDELETEและTRUNCATEสำหรับเอกสารโดยละเอียด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.