mysql索引

mysql为字段增加索引

1. 创建普通索引,在创建table表时候增加
最基础的索引类型, 没有唯一性的限制,只是为了加快数据的访问速度

CREATE TABLE book (
	id INT NOT NULL,
	NAME VARCHAR ( 64 ),
	auth VARCHAR ( 64 ),
	COMMENT text,
	INDEX ( NAME ));

查看表结构

show create table book;

在这里插入图片描述


2.创建唯一索引
减少查询索引列操作的执行时间,对较大的数据表.和普通索引的区别是索引列的值必须唯一.允许有空值,如果是组合索引,列值的组合必须唯一

CREATE TABLE t1 (
	id INT NOT NULL,
	name VARCHAR ( 30 ) nopt NULL,
UNIQUE INDEX uniqidx ( id ));

在这里插入图片描述


3. 创建单列索引
单列索引是为数据表中的某个字段创建的索引,一个表中可以创建多个单列索引.其中12都是单列索引

CREATE TABLE t2 (
	id INT NOT NULL,
	NAME VARCHAR ( 20 ),
	INDEX singleidx (NAME ( 20 )));

查看当前表结构
4. 创建组合索引
组合索引是在读个字段中创建一个索引

CREATE TABLE t3 (
	id INT NOT NULL,
	name CHAR ( 20 ),
	age INT NOT NULL,
	info VARCHAR ( 40 ),
	INDEX MultiIdx (id,name,age ));

在这里插入图片描述
组合索引遵守"最左前缀"规则,利用最左边的列集进行匹配.按照(id, name, age),(id, name), id来进行组合
索引的使用情况
5. 创建全文索引
FULLTEXT(全文索引)可以用作全文搜索,只有MyISAM存储引擎支持FULLTEXT索引,而且只能为CHAR, VARCHAR,和TEXT创建索引.

CREATE TABLE t4 (
id int not NULL, 
name VARCHAR(30),
ahe int not NULL,
info VARCHAR(50),
FULLTEXT INDEX FulltxtIdx(info)ENGINE = MyISAM;

为已经存在的表加索引

1. 使用ALTER TABLE进行创建索引
创建普通索引

ALTER TABLE book ADD INDEX bkNameidx (NAME ( 30 ));

在这里插入图片描述

show index from book \G;

在这里插入图片描述
为字段增加唯一索引

alter table book add unique index uniqidIdx (id)

在这里插入图片描述
增加单列索引

alter table book add index bkcmtIdx(comment(50));

在这里插入图片描述


使用create index 创建索引

创建普通索引

create index bknameIdx on book (name)

创建单列索引

create index bkcmtIdx on book (comment(50));

创建组合索引

create index zuheIdx on book (author(20), info(50));

删除索引

  1. 使用ALTER TABLE 删除索引
ALTER TABLE table_name DROP INDEX index_name;
  1. 使用DROP INDEX 删除索引
DROP INDEX index_name On table_name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值