补充一下,上一章节中约束的一点东西。我们在为约束设置名称的时候(标识符)推荐写法“约束缩写_字段名”,这样让人看起来就会很清晰。例如:FK_Deptno,我们通过索引的名字就可以大概知道这是一个设置的关于Deptno字段的外键。

一个索引包含表中按照一定顺序排序的一列或者多列字段。创建索引主要是为了提高从表中检索数据的速度。但是创建索引有利也有弊,优点是通过索引,可以提高查询的速度。但是过多的创建索引会占据许多的磁盘空间,因此在创建索引的时候一定要权衡利弊。

以下情况适合创建索引:

(1)经常被查询的字段

(2)经常出现在分组中的字段

(3)表的主键或者是外键字段

(4)设置唯一完整性约束的字段

以下情况不适合创建索引:

(1)在查询中很少被使用的字段

(2)拥有许多重复的值的字段

索引名在设置的时候,建议“index_字段名”,这样看起来很清晰。

索引根据创建方式又可以分为两类,自动索引和手动索引。通过名称我们可以简单的理解,自动索引就是自动创建的索引(和废话一样。。),在设置表的主键或者其他设置完整性约束的时候,MySQL系统会自动创建索引。而手动索引,指的是我们主动在表上创建的索引,如下图所示:

1、创建索引

1.1 、创建普通索引

CREATE TABLE table_name(

属性名 数据类型,

属性名 数据类型,

INDEX 索引名(属性名1)

)

1.2、在已经存在的表上创建普通索引

CREATE INDEX 索引名 ON 表名 (属性名)

1.3、ALTER TABLE创建普通索引

ALTER TABLE table_name ADD INDEX 索引名 (属性名)

2、创建唯一索引

唯一索引,就是在创建索引的时候,限制索引值必须是唯一值,通过该类型的索引可以更快的查询某条记录。

2.1 、创建表时创建唯一索引

CREATE TABLE table_name(

属性名 数据类型,

属性名 数据类型,

UNIQUE  INDEX 索引名(属性名1)

)

2.2、在已经存在的表上创建唯一索引

CREATE UNIQUE   INDEX 索引名 ON 表名 (属性名)

2.3、ALTER TABLE创建唯一索引

ALTER TABLE table_name ADD UNIQUE    INDEX 索引名 (属性名)

注意:创建唯一索引的时候,如果表中该字段有为空值的时候,则唯一索引会创建失败。

3、创建全文索引

全文索引主要关联在数据库中数据类型为CHAR、VARCHAR、TEXT的字段上,以便能够更加快速的查询数据量较大的字符串类型的字段。

3.1 、创建表时创建全文索引

CREATE TABLE table_name(

属性名 数据类型,

属性名 数据类型,

FULLTEXT INDEX 索引名(属性名1)

)

3.2、在已经存在的表上创建全文索引

CREATE FULLTEXT INDEX 索引名 ON 表名 (属性名)

3.3、ALTER TABLE创建全文索引

ALTER TABLE table_name ADD FULLTEXT INDEX 索引名 (属性名)

4、通过SQLyog创建索引

右键要创建索引的表,选择改变表菜单,点击“2个索引”,如下图所示:

通过SQLyog软件,我们可以更加方便快捷的创建索引。而且界面也很简单,易上手。

5、删除索引

SQL语法:DROP INDEX index_name ON table_name;

通过SQLyog软件,在表——>索引,点击节点前面的加号,选中要删除的索引,右键选择“删除索引”,根据提示选择是,成功删除,如图:

或在改变表的索引列下删除,上面已经介绍过。

转载于:https://www.cnblogs.com/woshikh/p/5530739.html

MySQL学习总结(三)索引相关推荐

  1. 数据库MYSQL学习系列三

    数据库MYSQL学习系列三 三.MYSQL事务与存储引擎 3.1-数据库事务 什么是事务 一系列有序的数据库操作: o要么全部成功 o要么全部回退到操作前的状态 o中间状态对其他连接不可见 事务的 ...

  2. MYSQL学习笔记三:日期和时间函数

    MYSQL学习笔记三:日期和时间函数 1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ ...

  3. MySQL学习记录 (三) ----- SQL数据定义语句(DDL)

    相关文章: <MySQL学习记录 (一) ----- 有关数据库的基本概念和MySQL常用命令> <MySQL学习记录 (二) ----- SQL数据查询语句(DQL)> &l ...

  4. MySQL学习笔记(三)查询

    写在前面:本篇为作者自学总结,学习内容为课堂所学和网络学习笔记汇总,对于内容引用部分在文中和文末注明. 文章仅供参考,如需深入了解,请查阅MySQL参考手册.附上下载链接: 链接:https://pa ...

  5. MySQL学习(14)︱复合索引与覆盖索引

    复合索引前导列特性 在MySQL中,如果创建了复合索引(name, salary, dept),就相当于创建了(name, salary, dept).(name, salary).(name)三个索 ...

  6. mysql学习笔记三 —— 数据恢复与备份

    要点: 1.存储引擎 2.导入导出 3.备份与恢复 查看当前数据库中的所有表 use db1: show tables: 1.存储引擎 不同的发动机(引擎)适用的汽车类型不一样. 存储和处理的不同方式 ...

  7. MySQL学习(三) 数据类型约束、TCL语言、流程控制

    数据类型和约束(ddl) 数据类型 一.数值型 1.整型 tinyint.smallint.mediumint.int/integer.bigint 1 2 3 4 8 特点: ①都可以设置无符号和有 ...

  8. MySQL学习笔记(三)

    准备好一个表的员工,接下来都是对这个表进行操作 一,数据表里内容的修改和删除(更改,删除) 1.1增加一列数据 格式:alter table 表名 add column 列名 数据类型(数据长度); ...

  9. Mysql学习(三)之数据库管理工具Navicat

    前言 mysql安装完后默认只有命令行工具,所以我们可以下载一些数据库管理工具Navicat Navicat使用 首先建立一个连接选择mysql,填写信息 发现多了一个localhost,双击,打开连 ...

  10. mysql的基本数据类型_mysql基本数据类型(mysql学习笔记三)

    Mysql数据类型 小数: 浮点:小数位可以变化 Float单精度默认精度6位左右 Double双精度默认精度16位左右 支持,控制数值范围 Type(M,D) M表示所有数值位数(不包括小数点和符号 ...

最新文章

  1. 如何让带有批注等修改痕迹的word文档编程“正规”文档?
  2. notepad++默认的快捷键整理
  3. [转]cocos2d游戏开发,常用工具集合
  4. uml+oopc嵌入式c语言开发精讲_嵌入式开发中更接近底层的汇编与C语言
  5. 今年双12全天 邮政、快递企业共揽收邮(快)件达4.6亿件
  6. 1.1.0-简介-P5-时间、时钟和事件顺序
  7. 常用的实现Javaweb页面跳转的方式
  8. html自动播放音乐播放器代码,[界面设计] 关于HTML 音乐播放器代码|音乐播放器网页代码大全(转)...
  9. maya表情blendshape_【Maya】角色表情绑定-BlendShape的使用技巧
  10. 养猫有哪些坏处哪些好处呢?
  11. WPS中文档横线的问题
  12. sql根据出生日期计算当前年龄 函数TIMESTAMPDIFF()
  13. Android开发--CardView使用
  14. iphone开发中使用动态库(dylib)和动态加载framework (获取iphone的IMSI和设置飞行模式)
  15. java8中新判空方法之Optional类的使用
  16. 自学软件测试真的可以吗?
  17. 【Vue原理】Diff - 源码版 之 Diff 流程
  18. 微信小程序中,使用正则表达式,快速验证是否是数字(附正则表)
  19. Python3,为了给女神暗送秋波,我默默的写了一个图片字符画生成器,真香。
  20. MBA联考-20101227

热门文章

  1. 强大的矢量图形库:Raphael JS 中文帮助文档及教程
  2. IAR for msp430 MDK中 warning: #223-D: function xxx declared implicitly 解决方法
  3. 为Qt扩展QextSerialPort类
  4. 设计模式----单件模式(c++)
  5. [文摘20070307]英语表示“走”的20种形式
  6. cloud自动发卡平台cloudfaka_open-cloud基于springcloud、oauth2、nacos打造的微服务开放平台...
  7. 继python(银行转账)简单Model修改版(二)
  8. 同学Linux,同成长
  9. Himmelblau函数优化实战
  10. [0x17基本数据结构-二叉堆]-Supermarket