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

ความแตกต่างระหว่าง SHOW INDEX, SHOW INDEXES และ SHOW KEYS ใน MySQL

ไม่มีความแตกต่างใดๆ สามคำสั่งนี้ทำงานเหมือนกันทุกประการ ใช้แสดงข้อมูลดัชนีของตาราง

mysql> CREATE TABLE DemoTable1549 (
    -> EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> EmployeeName VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.82 sec)
mysql> CREATE INDEX name_index1 ON DemoTable1549(EmployeeName);
Query OK, 0 rows affected (0.41 sec)

ผลลัพธ์ของทั้งสามคำสั่งเหมือนกันทุกตัว:

mysql> SHOW INDEX FROM DemoTable1549;
mysql> SHOW INDEXES FROM DemoTable1549;
mysql> SHOW KEYS FROM DemoTable1549;
+---------------+------------+-------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| Table         | Non_unique | Key_name    | Seq_in_index | Column_name  | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible |
+---------------+------------+-------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
| demotable1549 |          0 | PRIMARY     |            1 | EmployeeId   | A         |           0 | NULL     | NULL   |      | BTREE      |         |               | YES     |
| demotable1549 |          1 | name_index1 |            1 | EmployeeName | A         |           0 | NULL     | NULL   | YES  | BTREE      |         |               | YES     |
+---------------+------------+-------------+--------------+--------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+
2 rows in set (0.00 sec)

สรุป: ใช้คำสั่งใดก็ได้ตามความชอบ INDEXS และ KEYS เป็นชื่อทางเลือก (alias) ของ INDEX