Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ลบคอลัมน์ทั้งหมดในตาราง MySQL

วิธีลบคอลัมน์ทั้งหมดในตาราง MySQL

วิธีที่ง่ายที่สุดและเร็วที่สุดคือใช้คำสั่ง DROP TABLE ซึ่งจะลบทั้งตาราง โครงสร้าง ข้อมูล และดัชนีทั้งหมดทิ้งไป

DROP TABLE yourTableName;

ตัวอย่างการใช้งาน

สร้างตารางที่มีหลายคอลัมน์:

mysql> create table DemoTable (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName varchar(20),
    StudentLastName varchar(20),
    StudentAge int,
    StudentAddress varchar(200),
    StudentCountryName varchar(30),
    StudentDateOfBirth datetime
);

ตรวจสอบโครงสร้าง:

mysql> desc DemoTable;
+--------------------+--------------+------+-----+---------+----------------+
| Field              | Type         | Null | Key | Default | Extra          |
+--------------------+--------------+------+-----+---------+----------------+
| StudentId          | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentFirstName   | varchar(20)  | YES  |     | NULL    |                |
| StudentLastName    | varchar(20)  | YES  |     | NULL    |                |
| StudentAge         | int(11)      | YES  |     | NULL    |                |
| StudentAddress     | varchar(200) | YES  |     | NULL    |                |
| StudentCountryName | varchar(30)  | YES  |     | NULL    |                |
| StudentDateOfBirth | datetime     | YES  |     | NULL    |                |
+--------------------+--------------+------+-----+---------+----------------+

ลบทั้งตาราง (รวมคอลัมน์ทั้งหมด):

mysql> drop table DemoTable;
Query OK, 0 rows affected (0.37 sec)

ทางเลือกอื่น (หากต้องการเก็บตารางไว้แต่ลบคอลัมน์):

-- ลบคอลัมน์ทีละตัว
ALTER TABLE DemoTable DROP COLUMN StudentFirstName;
ALTER TABLE DemoTable DROP COLUMN StudentLastName;
-- ... ทำซ้ำสำหรับทุกคอลัมน์ยกเว้น Primary Key

-- หรือสร้างตารางใหม่โครงสร้างเดียวกันแต่ไม่มีคอลัมน์เก่า
CREATE TABLE DemoTable_new LIKE DemoTable;
ALTER TABLE DemoTable_new DROP COLUMN ...;
RENAME TABLE DemoTable TO DemoTable_old, DemoTable_new TO DemoTable;

คำเตือน: DROP TABLE เป็นการกระทำที่ไม่สามารถย้อนกลับได้ (Irreversible) ควรสำรองข้อมูล (Backup) ก่อนทำเสมอ