การลบข้อมูลภายในตารางทั้งหมด โดยโครงสร้างตารางยังคงอยู่ SQL Truncate table (แอสคิวแอล ทรันเครท เทเบิ้ล)

ตอบกระทู้


คำถามนี้ เพื่อป้องกันการส่งแบบอัตโนมัติจากสแปมบอท
รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[flash] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การลบข้อมูลภายในตารางทั้งหมด โดยโครงสร้างตารางยังคงอยู่ SQL Truncate table (แอสคิวแอล ทรันเครท เทเบิ้ล)

การลบข้อมูลภายในตารางทั้งหมด โดยโครงสร้างตารางยังคงอยู่ SQL Truncate table (แอสคิวแอล ทรันเครท เทเบิ้ล)

โพสต์ โดย pprn » 03/07/2018 11:51 am


    คำสั่ง SQL Truncate table
    เป็นการลบหรือ reset ข้อมูลภายในตารางข้อมูล (table) ทั้งหมด ทำให้ข้อมูลภายในตารางไม่มีอยู่เลย ซึ่งทำให้
โครงสร้างตารางข้อมูล (table) เหมือน ก่อนเริ่มใส่ข้อมูล ทำให้สามารถ insert ข้อมูลใหม่ได้ จะทำการ reset auto_increment ให้เริ่มนับใหม่ด้วย คำสั่ง

SQL Truncate table จะแตกต่างจาก SQL Drop table ซึ่งจะทำการลบข้อมูลภายใน ตารางข้อมูล (table) ทั้งหมด รวมถึงโครงสร้างของตารางข้อมูล (table)

ด้วย การใช้งานใหม่จำเป็นต้องสร้างตารางข้อมูล (create table) ใหม่อีกครั้ง


    คำสั่ง SQL Truncate table จะทำหน้าที่เหมือนกับคำสั่ง DELETE โดยไม่ใช้คำสั่ง WHERE และเร็วกว่าการใช้คำสั่ง DELETE


    คำเตือน : หลังจากการทำ Truncate table แล้ว ไม่สามารถเรียกข้อมูลภายใน table กลับมาใหม่ได้ (roll back)


รูปแบบการเขียน

คำสั่ง Truncate table ตามด้วยชื่อตารางข้อมูล (table) ที่ต้องการลบ

โค้ด: เลือกทั้งหมด

TRUNCATE TABLE  table_name;



ตัวอย่าง

ตารางชื่อ PRODUCTS

table.JPG
ข้อมูลภายในตาราง PRODUCTS
table.JPG (25.81 KiB) เปิดดู 321 ครั้ง


โค้ด คำสั่ง TRUNCATE TABLE PRODUCTS

โค้ด: เลือกทั้งหมด

TRUNCATE TABLE  PRODUCTS ;



ผลลัพธ์
table 1.JPG
ผลลัพธ์ที่ได้จากการ Truncate table ตาราง PRODUCTS
table 1.JPG (14.42 KiB) เปิดดู 311 ครั้ง


ผลลัพธ์ที่ได้ จะพบว่าข้อมูลบรรทัดเป็น 0

โค้ด: เลือกทั้งหมด

SQL> SELECT * FROM PRODUCTS;
Empty set (0.00 sec)



_____________________________________________________________________________________________
Auto Increment (auto_increment) เป็นตัวเลขที่จะสามารถเพิ่มค่าขึ้นโดยอัตโนมัติในทุกครั้งที่มีการ Insert ข้อมูล
_____________________________________________________________________________________________



----------------------------------------------------------------------------------------------------------------------------------------------------------------
_____________________________________________________________________________________________
บทความนี้เเป็นบทความที่จัดทำขึ้นเพื่อเนะนำเครื่องมือช่วยสำหรับนักพัฒนา SQL ซึ่งเป็นความรู้พื้นฐานในการพัฒนา phpMyadmin ต่อไป เเละขอเเนะนำความรู้ที่เกี่ยวข้องกับโดยสามารถศึกษาได้จากบทเรียน SQL ได้ที่นี่ เพื่อเพิ่มความเข้าใจในการใช้งานเครื่องมือต่างๆ ค่ะ
_____________________________________________________________________________________________

----------------------------------------------------------------------------------------------------------------------------------------------------------------

ข้างบน