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

วิธีลบ Index ออกจากตาราง MySQL ด้วย ALTER TABLE DROP INDEX

Syntax พื้นฐาน

ALTER TABLE your_table_name DROP INDEX `your_index_name`;

ใช้ backtick (`) ครอบชื่อดัชนีกรณีมีช่องว่างหรือคีย์เวิร์ด

ตัวอย่างทีละขั้นตอน

1. สร้างตาราง

mysql> CREATE TABLE DemoTable1469 (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(40),
    StudentAge INT
);

2. เพิ่ม Index บนคอลัมน์ StudentName

mysql> CREATE INDEX `Student Name_Index` ON DemoTable1469 (StudentName);

3. ตรวจสอบโครงสร้าง (ก่อนลบ)

mysql> DESC DemoTable1469;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| StudentId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentName | varchar(40) | YES  | MUL | NULL    |                |
| StudentAge  | int(11)     | YES  |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+

เห็น Key = MUL แสดงว่ามี Index อยู่

4. ลบ Index

mysql> ALTER TABLE DemoTable1469 DROP INDEX `Student Name_Index`;

5. ตรวจสอบอีกครั้ง (หลังลบ)

mysql> DESC DemoTable1469;
+-------------+-------------+------+-----+---------+----------------+
| Field       | Type        | Null | Key | Default | Extra          |
+-------------+-------------+------+-----+---------+----------------+
| StudentId   | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentName | varchar(40) | YES  |     | NULL    |                |
| StudentAge  | int(11)     | YES  |     | NULL    |                |
+-------------+-------------+------+-----+---------+----------------+

คอลัมน์ StudentName กลายเป็น Key = (ว่าง) แสดงว่า Index ถูกลบเรียบร้อย

คำสั่งดู Index ทั้งหมดของตาราง

SHOW INDEX FROM DemoTable1469;

ใช้เพื่อยืนยันชื่อ Index ที่แน่นอนก่อนลบ

หมายเหตุ

  • ไม่สามารถลบ PRIMARY KEY ด้วยคำสั่งนี้ได้ ต้องใช้ ALTER TABLE ... DROP PRIMARY KEY
  • การลบ Index อาจทำให้ Query ที่ขึ้นอยู่กับ Index นั้นช้าลง ควรพิจารณาก่อนลบ