Mysql索引基础篇:什么是聚簇索引什么是非聚簇索引、索引的最左前缀原则、索引下推、索引覆盖、回表
主键索引
在创建表时,指定主键,数据库会自动生成主键主键索引
CREATE TABLE student (id INT(10) UNSIGNED AUTO_INCREMENT ,age INT(10),name VARCHAR(200),PRIMARY KEY(id)
);
#或者执行如下
alter table 表名 add primary key(列名);
alter table student add primary key(`id`);
删除主键索引
ALTER TABLE student
drop PRIMARY KEY ;
唯一索引
CREATE TABLE test1(id INT NOT NULL,name varchar(30) NOT NULL,UNIQUE INDEX uk_idx_id(id)
);
#或者执行如下
alter table 表名 add unique index 索引名(列名);
alter table test1 add unique index index_name(`name `);
普通索引
alter table 表名 add index 索引名(列名);
alter table test add index index_name(`name`);
联合索引
alter table 表名 add index 索引名(列名1,列名2.......);
alter table test add index index_age_name_date(`age`,`name`,`create_date`);
前缀索引
CREATE TABLE test2(id INT NOT NULL,name CHAR(50) NULL,INDEX idx_name(name(20))
);
#或者执行如下
alter table 表名 add index 索引名(列名(长度));
alter table test2 add index index_name(name(20));
删除索引
使用ALTER TABLE删除索引 ALTER TABLE删除索引的基本语法格式如下:
ALTER TABLE table_name DROP INDEX index_name;
使用DROP INDEX语句删除索引 DROP INDEX删除索引的基本语法格式如下:
DROP INDEX index_name ON table_name;