一. 创建索引

1.1 使用Alter创建索引

1.添加主键索引

特点:数据列不允许重复,不能为null,一张表只能有一个主键;Mysql主动将该字段进行排序

ALTER TABLE 表名 ADD Primary key (col);

2.添加唯一索引

特点:索引的值是唯一的,可以为null;Mysql主动将该字段进行排序

ALTER TABLE 表名 ADD unique <索引名> (col1, col2, ...col3);

3.添加普通索引

特点:添加普通索引, 索引值可以不唯一,可以为null

Alter table 表名 ADD index <索引名> (col1, col2, ...,);

4.添加全文索引

特点:只能在文本类型CHARVARCHAR, TEXT类型字段上创建全文索引;

ALTER TABLE 表名 ADD Fulltext <索引名> (col)

5.添加多列索引

特点:多列是唯一的

ALTER TABLE 表名 ADD UNIQUE (col1, col2, ..., )

1.2 使用Create创建索引

语法:create index 索引名 on 表名(字段)

添加唯一索引

create unique index 索引名 on table 表名(col1, col2, ..., )

添加普通索引

create index 索引名 on table 表名(col1, col2, ..., )

1.3 两种创建索引方式的区别

  1. Alter可以省略索引名。如果省略索引名,数据库会默认根据第一个索引列赋予一个名称;Create必须指定索引名称。

  2. Create不能用于创建Primary key索引;

  3. Alter允许一条语句同时创建多个索引;Create一次只能创建一个索引

create unique index 索引名 on table 表名(col1, col2, ..., )

ALTER TABLE 表名 ADD Primary key (id), ADD index <索引名> (col1, col2, …,)

索引执行效率分析:
主键索引 > 唯一性索引 > 普通索引

二、 删除索引

# 第一种方式
drop index 索引名 on 表名;# 第二种方式
alter table 表名 drop index 索引名;# 第三种方式
alter table 表名 drop primary key

分析:
第三种方式只在删除primary key中使用。因为一个表只能存在一个primary key索引,所以不需要指定索引名;
对于第三种方式,若没有创建primary key索引,但表中具有一个或多个unique索引,则默认删除第一个unique索引;
若删除表中的某列,索引会受到影响。对于多列组合的索引,如果删除其中的某一列,则该列会从对应的索引中被删除(删除列,不删除索引);删除多个组成索引的所有列,则索引将被删除(不仅删除列,还删除索引)。

数据库创建索引和删除索引的方式总结相关推荐

  1. mysql repair 索引_mysql 创建索引、重建索引、查询索引、删除索引 转自:http://www.phpernote.com/mysql/942.html...

    本篇文章主要是对MySQL索引操作方法做了一下总结,包括创建索引.重建索引.查询索引.删除索引的操作.以下所列示例中中 `table_name` 表示数据表名,`index_name` 表示索引名,c ...

  2. mysql修改索引语句_mysql——创建索引、修改索引、删除索引的命令语句

    查看表中已经存在 index:show index from table_name; 创建和删除索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER ...

  3. mysql索引0affected_mysql 创建索引和删除索引

    索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引.删除索引可以利用ALTER TABLE或DROP INDEX语句来实现. ...

  4. R操作MySQL数据库创建表、删除表、增删改查(CRUD)

    R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...

  5. mysql数据库如何创建索引,删除索引

    写在前面:要想了解索引的底层以及优化索引的底层还得学习不同搜索引擎下对于数据的处理,后续我会出一些相关的文章介绍,比如什么是B+tree,什么是聚簇索引什么是二级索引.联合索引等,以及不同搜索引擎下( ...

  6. pg创建索引以及删除索引的语法

    PostgreSQL 索引 索引是加速搜索引擎检索数据的一种特殊表查询.简单地说,索引是一个指向表中数据的指针.一个数据库中的索引与一本书的索引目录是非常相似的. 创建索引的语法: CREATE IN ...

  7. mysql 创建索引、删除索引、查看索引sql语句

    在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引. 1.ALTER TABLE ALTER TABLE用来创建普通索引.UN ...

  8. solrj的使用,环境准备,工程搭建,索引创建,添加\修改索引,删除索引,查询

    1      Solrj的使用 1.1     什么是solrj Solrj是访问solr服务的java程序客户端. 1.2     需求 使用solrj调用solr服务实现对索引库的增删改查操作. ...

  9. oracle创建索引和删除索引

    创建 CREATE INDEX index_Trans_list(索引名) ON Trans_list(表名)  (receivedepid(字段名)) 删除 drop index index_Tra ...

最新文章

  1. python基础教程小甲鱼-小甲鱼零基础入门学习Python3视频教程全套96集
  2. C++之vector容器初学(二)——插入和删除
  3. Bootstrap手机网站开发案例
  4. 【转】Unity3D研究院之使用Xamarin Studio调试Unity程序
  5. Flink运行时架构
  6. libtorch下载
  7. 深入浅出MFC-侯俊杰
  8. python第三方库的安装方式_Python第三方库的几种安装方式(小结)
  9. 智慧消防:如何利用智能化手段,精准防控消防风险?
  10. 饿了么app的架构演进之路,你的外卖可不简单
  11. 盐城市公交路线及时刻表
  12. 计算机之父的童年故事教案,《“计算机之父”的童年故事》教学设计
  13. HTML表单元素、标签、iframe内联框架 详细代码图解
  14. golang rabbitMQ 生产者复用channel以及生产者组分发策略
  15. 有什么软件可以把PDF文件转jpg?推荐这3款软件给你
  16. Sqlserver 英文月份格式时间字符串转换为数字型日期
  17. 转:创业之路“一生悬命”---只有偏执狂才能生存
  18. JS中every()方法
  19. java必读10本书_新技术领先者必读的6本书
  20. 可达性统计(拓扑排序逆推)

热门文章

  1. 计算机光盘驱动器是一种,光驱-电脑光盘驱动器还是有必要介绍一下
  2. 2022年12月中国数据库排行榜:OceanBase立足创新登榜首,华为腾讯排名上升树雄心
  3. 计算机在医学影像学中的应用,计算机图形处理关键技术在医学影像处理中的应用分析...
  4. SPSS单样本T检验在SPSS中的实战操作及结果解读(含SPSS输出结果及三线表)【转载】
  5. 误删图片怎么恢复?这个方法还有人不知道?
  6. 100个Python实战项目(八)使用 OpenCV 制作简单图像动画
  7. 通服数聚-华为云Stack8.0兼容性认证完成
  8. 分布式 - 分布式体系架构:集群和分布式
  9. Python.__getitem__方法
  10. 门窗行业更适合网络营销