300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql索引 删除和创建_mysql索引和唯一索引的创建和删除

mysql索引 删除和创建_mysql索引和唯一索引的创建和删除

时间:2019-06-06 05:14:29

相关推荐

mysql索引 删除和创建_mysql索引和唯一索引的创建和删除

一、本机环境

二、索引的创建删除

三、唯一索引的创建和删除

一、本机环境

系统环境:linux centos 7.2

mysql版本:mysql-5.7.9

安装目录:/application/mysql

二、索引的创建和删除

1、索引的优缺点

优点:索引就像是目录一样,在字段上加了索引,那么以索引列为查询条件时,可以加快查询数据的速度

缺点:降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。更新表时,MySQL不仅要保存数据,还要保存一下索引文件

注意事项:创建索引时,你需要确保该索引是应用在 SQL 查询语句的条件(一般作为 WHERE 子句的条件)。

2、创建索引

1)建表时直接创建

格式:

CREATE TABLE (

ID INT NOT NULL,

col_name VARCHAR(16) NOT NULL,

INDEX index_name (col_name(length))

);

例子:

create table student (

id int not null,

name varchar(16) not null,

age tinyint(2),

dept varchar(16),

index index_name(name(8))

);

2)创建

格式:CREATE INDEX index_name ON tbl_name (index_col_name,...)

例子:create index index_name on student (name (8))

3)修改表结构创建

格式:ALTER TABLE tbl_name ADD INDEX index_name (index_col_name,...)

例子:alter table student add index index_name (name)

2、删除索引

格式:DROP INDEX index_name ON tbl_name

例子:drop index index_name on student

格式:ALTER TABLE tbl_name DROP INDEX index_name (index_col_name,...)

例子:alter table student drop index index_name

三、唯一索引的创建、删除

特点:索引列的值必须唯一,但允许有空值

1、创建表的时候直接指定

格式:

CREATE TABLE (

ID INT NOT NULL,

col_name VARCHAR(16) NOT NULL,

UNIQUE index_name (col_name(length))

);

例子:

create table student (

id int not null,

name varchar(16) not null,

age tinyint(2),

dept varchar(16),

unique index_name(name(8))

);

2、创建

格式:CREATE UNIQUE INDEX index_name ON tbl_name (index_col_name,...)

例子:create unique index un_dept on student(dept);

3、修改表时创建

格式:ALTER TABLE tbl_name ADD UNIQUE INDEX index_name (index_col_name,...)

例子:alter table student add unique index index_dept (dept)

4、删除

格式:DROP INDEX index_name ON tbl_name

例子:drop index index_dept on student

格式:ALTER TABLE tbl_name DROP INDEX index_name

例子:alter table student drop index un_dept

小技巧:在创建索引的时候可以先查看该列有多少唯一值,然后创建索引

SELECT COUNT (DISTINCT col_name) FROM tbl_name

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。