MySQL索引是一种数据库对象,用于提高查询速度,它可以帮助数据库引擎快速定位到表中的指定数据,以下是关于MySQL索引的一些详细用法:
1、创建索引
创建索引可以使用CREATE INDEX
语句,语法如下:
CREATE INDEX index_name ON table_name (column_name);
为employees
表的last_name
列创建一个名为idx_last_name
的索引:
CREATE INDEX idx_last_name ON employees (last_name);
2、查看索引
使用SHOW INDEX
语句可以查看表中的所有索引,语法如下:
SHOW INDEX FROM table_name;
查看employees
表的所有索引:
SHOW INDEX FROM employees;
3、删除索引
使用DROP INDEX
语句可以删除表中的索引,语法如下:
DROP INDEX index_name ON table_name;
删除employees
表的idx_last_name
索引:
DROP INDEX idx_last_name ON employees;
4、主键索引
主键索引是唯一标识表中每一行数据的索引,一个表只能有一个主键索引,创建主键索引时,可以在列定义时添加PRIMARY KEY
约束。
CREATE TABLE employees ( id INT PRIMARY KEY, first_name VARCHAR(50), last_name VARCHAR(50) );
5、唯一索引
唯一索引是不允许表中存在重复值的索引,创建唯一索引时,可以在列定义时添加UNIQUE
约束。
CREATE TABLE employees ( id INT PRIMARY KEY, email VARCHAR(100) UNIQUE, first_name VARCHAR(50), last_name VARCHAR(50) );
6、普通索引(非唯一索引)
普通索引允许表中存在重复值的索引,创建普通索引时,不需要添加任何约束。
CREATE TABLE employees ( id INT PRIMARY KEY, email VARCHAR(100), first_name VARCHAR(50), last_name VARCHAR(50) );
7、全文索引(FULLTEXT)
全文索引用于全文搜索,只适用于MyISAM
和InnoDB
引擎的表,创建全文索引时,需要在列定义后添加FULLTEXT
关键字。
CREATE TABLE articles ( id INT PRIMARY KEY, title VARCHAR(100), content TEXT, FULLTEXT (title, content) );
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/637134.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复