MySQL数据库中如何创建和删除索引?

一.创建索引

索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。

1.使用CREATE INDEX语句对表增加索引。
能够增加普通索引和UNIQUE索引两种。其格式如下:
create index index_name on table_name (column_list) ;
create unique index index_name on table_name (column_list) ;
说明:table_name、index_name和column_list具有与ALTER TABLE语句中相同的含义,索引名不可选。另外,不能用CREATE INDEX语句创建PRIMARY KEY索引。

2.使用ALTER TABLE语句创建索引。
语法如下:
alter table table_name add index index_name (column_list) ;
alter table table_name add unique (column_list) ;
alter table table_name add primary key (column_list) ;
其中包括普通索引、UNIQUE索引和PRIMARY KEY索引3种创建索引的格式,table_name是要增加索引的表名,column_list指出对哪些列进行索引,多列时各列之间用逗号分隔。索引名index_name可选,缺省时,MySQL将根据第一个索引列赋一个名称。另外,ALTER TABLE允许在单个语句中更改多个表,因此可以同时创建多个索引。
创建索引的示例如下:
mysql> use tpsc
Database changed
mysql> alter table tpsc add index shili (tpmc ) ;
Query OK, 2 rows affected (0.08 sec)
Records: 2 Duplicates: 0 Warnings: 0

二.删除索引

删除索引可以利用ALTER TABLE或DROP INDEX语句来实现。

drop index index_name on table_name ;
alter table table_name drop index index_name ;
alter table table_name drop primary key ;
其中,在前面的两条语句中,都删除了table_name中的索引index_name。而在最后一条语句中,只在删除PRIMARY KEY索引中使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。
如果从表中删除某列,则索引会受影响。对于多列组合的索引,如果删除其中的某列,则该列也会从索引中删除。如果删除组成索引的所有列,则整个索引将被删除。
删除索引的操作,如下面的代码:
mysql> drop index shili on tpsc ;
Query OK, 2 rows affected (0.08 sec)
Records: 2 Duplicates: 0 Warnings: 0
该语句删除了前面创建的名称为“shili”的索引。

MySQL笔记5:如何创建和删除索引?相关推荐

  1. MySQL查看、创建和删除索引的方法

    本文实例讲述了MySQL查看.创建和删除索引的方法.分享给大家供大家参考.具体如下: 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别 ...

  2. 合肥工业大学—SQL Server数据库实验五:创建和删除索引

    创建和删除索引 1. 用SQL语句建立索引 2. 用SQL语句删除索引Stuspno 1. 用SQL语句建立索引 (1)应用场景:在教务管理系统中,经常需要通过学生的姓名查询学生的基本信息,学生人数大 ...

  3. elasticsearch手动创建和删除索引

    elasticsearch手动创建和删除索引 在ElasticSearch没有索引的情况下,插入文档,默认会自动创建索引和索引映射,从而无法使用ik分词器.因此需要手动创建索引,取消默认创建机制. / ...

  4. (二)MySQL数据库-库的创建和删除

    (二)MySQL数据库-库的创建和删除 创建库 删除库 选择库 查看所有库 我的系统版本为CentOS7.5,MySQL版本为5.7.26 创建库 CREATE DATABASE 数据库名; 在创建数 ...

  5. 【数据库笔记】高性能MySQL:chapter 5 创建高性能的索引

    文章目录 前置知识 5.0 引言 5.1 索引基础 1. 索引的类型 B-Tree 索引 哈希索引 空间数据索引(R-Tree) 全文索引 5.2 索引基础 5.3 高性能的索引策略 1. 独立的列 ...

  6. mysql中索引创建 查看和删除语句_MySQL如何创建和删除索引?

    mysql索引,mysql创建索引,mysql删除索引 1.在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.今天就简单地给大家演示一下mysql中索引的创建,查 ...

  7. 大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作

    大数据技术之_20_Elasticsearch学习_01 一 概述 1.1 什么是搜索? 1.2 如果用数据库做搜索会怎么样? 1.3 什么是全文检索和 Lucene? 1.4 什么是 Elastic ...

  8. DB2 创建、删除索引

    查询数据库表的时候,有时需要优化查询速度,给表创建索引. DB2 给表创建索引: create index index_name on table_name(column1,column2 ...); ...

  9. oracle创建、删除索引等操作

    1.创建索引 create index 索引名 on 表名(列名); 2.删除索引 drop index 索引名; 3.创建组合索引 create index 索引名 on 表名(列名1,,列名2); ...

最新文章

  1. python 画图 内存-10种检测Python程序运行时间、CPU和内存占用的方法
  2. (二)Maven的安装与环境配置
  3. 第30天:项目时间管理相关错题整理
  4. 计算机网络-基本概念(4)【网络层】-IPv4向IPv6过渡
  5. 子弹图(Bullet chart)绘制很难吗?绘制技巧整理送你~~
  6. 完美:C# Blazor中显示Markdown并添加代码高亮
  7. dreamweaver 正则表达式为属性值加上双引号_IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3...
  8. Eero并入Amazon:确保用户隐私政策依然不变
  9. Atitit.http连接合并组件   ConnReducerV3 新特性
  10. tp框架引入第三方sdk的经验总结
  11. 半导体、芯片、集成电路、无尘车间具体释义及区别
  12. Java对象转Map的解决办法_java对象转map怎么操作?map如何转化成Java对象?
  13. 16年9月第二周---deadline
  14. 【Python计量】参数假设检验
  15. [4G5G专题-52]:物理层-手机终端能力等级Category
  16. 上手 WebRTC DTLS 遇到很多 BUG,怎么解?
  17. java post 405 错误
  18. WordCloud:连份好点的词云资料都找不到?我什么时候受过这气!!!
  19. leetcode第六题Z字形变换心得记录
  20. python中split()函数讲解

热门文章

  1. Jenkins设置用户权限
  2. DOM中Event 对象如何使用
  3. arm linux下编译库System.Net.Primitives.dll和System.Xml.XmlSerializer.dll
  4. 【leetcode】500. Keyboard Row
  5. 洛谷P1466 集合 Subset Sums
  6. NSArray和NSMutableArray
  7. DedeCms如何调用Discuz论坛主题等数据方法总结
  8. SSAS : 使用.NET为SSAS编写自定义程序集
  9. 游戏玩家行为基本模式的初探小汇
  10. XWiki 11.1 发布,协作式应用开发平台