本教程说明如何在MySQL中创建,删除和重命名索引。
索引是一种性能调优方法,用于更快地检索记录。索引为被索引列中出现的每个值创建一个条目。
有两种创建索引的方法。
在MySQL中使用CREATE TABLE语句创建索引的语法为:
CREATE
TABLE
table_name
(
column1 datatype [
NULL
|
NOT
],
column2 datatype [
...
column_n datatype [
INDEX
index_name [ USING BTREE | HASH ]
(index_col1 [(length)] [
ASC
DESC
index_col2 [(length)] [
index_col_n [(length)] [
])
);
在MySQL中使用CREATE INDEX语句创建索引的语法为:
[
UNIQUE
| FULLTEXT | SPATIAL]
index_name
[ USING BTREE | HASH ]
ON
]);
使用CREATE TABLE语句在MySQL中创建索引的示例。该语句将同时创建表和索引。
contacts
( contact_id
INT
(11)
AUTO_INCREMENT,
last_name
VARCHAR
(30)
,
first_name
(25),
birthday
DATE
CONSTRAINT
contacts_pk
PRIMARY
KEY
(contact_id),
contacts_idx (last_name, first_name)
在此示例中,我们创建了contacts表以及一个名为contacts_idx的索引,该索引由last_name和first_name列组成。
先创建表,然后使用CREATE INDEX语句创建索引。
(contact_id)
contacts_idx
contacts (last_name, first_name);
在此示例中,CREATE TABLE语句将创建contacts表。CREATE INDEX语句将创建一个名为“ contacts_idx”的索引,该索引由last_name和first_name字段组成。
要在表上创建唯一索引,您需要在创建索引时指定UNIQUE关键字。
或者
他们将在last_name和first_name字段上创建唯一索引,以便这些字段的组合必须始终包含唯一的值且没有重复。
可以使用DROP INDEX语句在MySQL中删除索引。
在MySQL中使用DROP INDEX语句删除索引的语法为:
DROP
table_name;
contacts;
从contacts表中删除了一个名为contacts_idx的索引。
在MySQL 5.6及更高版本中,使用ALTER TABLE语句重命名索引的语法为:
ALTER
index_name,
ADD
new_index_name [ USING BTREE | HASH ]
在MySQL 5.7或更高版本中重命名索引的语法为:
RENAME
TO
new_index_name;
MySQL 5.6和更早版本:需要使用ALTER TABLE语句首先删除旧索引,然后重新创建新索引。
contacts_idx,
contacts_new_index (last_name, first_name);
MySQL 5.7及更高版本:使用带有RENAME INDEX子句的ALTER TABLE语句来重命名索引
contacts_new_index;
原文链接:https://codingdict.com/