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

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
pprn
PHP Super Member
PHP Super Member
โพสต์: 303
ลงทะเบียนเมื่อ: 02/07/2018 10:45 am

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

โพสต์โดย pprn » 03/07/2018 5:24 pm


    คำสั่ง SQL Drop table
    คือ การลบข้อมูลภายใน ตารางข้อมูล (table) รวมถึงโครงสร้างของตารางข้อมูล (table) นี้ออกจากฐานข้อมูล (database)
และไม่สามารถดึงข้อมูลกลับมาได้อีก การใช้งานใหม่จำเป็นต้องสร้างตาราง (create table) ใหม่อีกครั้ง

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

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

1. เมื่อเราต้องการลบตารางข้อมูล (table) ออกจากฐานข้อมูล เราจะต้องใช้คำสั่ง DROP TABLE ตามด้วยชื่อตารางข้อมูล (table) ที่ต้องการลบ แต่ถ้าไม่พบตารางข้อมูล (table) จะทำให้เกิดการข้อผิดพลาด (error) ขึ้นได้

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

DROP TABLE table_name;


2. เพื่อป้องกันความผิดพลาด เราจะต้องใช้คำสั่ง DROP TABLE IF EXISTS ตามด้วยชื่อตารางข้อมูล (table) คำสั่งนี้จะช่วยตรวจสอบชื่อฐานข้อมูล หากพบจะทำการลบฐานข้อมูลทันทีการลบตารางข้อมูล (table)

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

DROP TABLE IF EXISTS table_name;



ตัวอย่าง

ตารางชื่อ PRODUCTS

สมมุติว่าเรามีตารางข้อมูล (table) ชื่อ PRODUCTS ในฐานข้อมูล (database) โดยเราสามารถเรียกดูโครงสร้างคอลัมม์ (column) ด้วยคำสั่ง DESC ซึ่งเป็นคำสั่งดูโครงสร้างตารางข้อมูล (table) ดังนี้

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

 DESC table_name;


database.JPG
โครงสร้าง column ของตารางข้อมูล (table) ชื่อ PRODUCTS ในฐานข้อมูล database
database.JPG (34.34 KiB) เปิดดู 85 ครั้ง


โค้ด คำสั่ง DROP TABLE PRODUCTS ในกรณีที่มีตารางข้อมูล (table)

หมายความว่าตอนนี้เรามีตารางข้อมูล (table) ชื่อ PRODUCTS ที่มีข้อมูลพร้อมที่ใช้งานอยู่ และเราจะทำการลบตารางข้อมูล (table) ด้วยคำสั่ง DROP TABLE ดังนี้

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

SQL> DROP TABLE PRODUCTS;
Query OK, 0 rows affected (0.01 sec)


โค้ด คำสั่ง DROP TABLE PRODUCTS ในกรณีที่ไม่มีมีตารางข้อมูล (table)

แต่ถ้าไม่มีตารางข้อมูล (table) ชื่อ PRODUCTS อยู่จะทำให้เกิดข้อผิดพลาด error ดังนี้

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

SQL> DROP TABLE PRODUCTS;
ERROR 1051: Unknown table PRODUCTS


โค้ด คำสั่ง DROP TABLE IF EXISTS PRODUCTS เพื่อตรวจสอบว่ามีตารางข้อมูล (table) นั้นอยู่จริง

สามารถใช้คำสั่ง DROP TABLE IF EXISTS ในการตรวจสอบ เพื่อเป็นการบ่งบอกว่าถ้ามีตารางข้อมูล (table) นั้น ๆ อยู่ ก็ให้ทำการลบทิ้งออกไปจาก database

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

SQL> DROP TABLE IF EXISTS PRODUCTS;



ผลลัพธ์

หลังจากทำการ Drop table เรียบร้อยแล้ว ถ้าเราลองดูตารางข้อมูล (table) อีกครั้งด้วยคำสั่ง DESC จะได้รับข้อผิดพลาดข้อผิดพลาด error ว่าไม่พบข้อมูลตารางข้อมูล (table) บนระบบ

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

SQL> DESC PRODUCTS;
ERROR 1146 (42S02): Table 'TEST.PRODUCTS' doesn't exist



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

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

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 1 และ บุคคลทั่วไป 0 ท่าน