普通索引
最基本的索引类型,没有唯一性之类的限制。普通索引可以通过以下几种方式创建:
创建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表);
修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);
创建表的时候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );
唯一索引(UNIQUE索引)
唯一索引是不允许其中任何两行具有相同索引值的索引
当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。对某个列建立UNIQUE索引后,插入新纪录时,数据库管理系统会自动检查新纪录在该列上是否取了重复值,在CREATE TABLE 命令中的UNIQE约束将隐式创建UNIQUE索引。
创建唯一索引的几种方式:
创建索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表);
修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表); ;
创建表的时候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE [索引的名字] (列的列表) ) ;
主键索引
简称为主索引,数据库表中一列或列组合(字段)的值唯一标识表中的每一行。该列称为表的主键。

在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键索引。

候选索引
与主索引一样要求字段值的唯一性,并决定了处理记录的顺序。在数据库和自由表中,可以为每个表建立多个候选索引。

普通索引 唯一索引 主键索引 候选索引相关推荐

  1. mysql中主键、普通索引、唯一索引和全文索引

    SQL索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录 开始扫描整个表的所有记录,直至找到符合要求的记录.表里面的记录 ...

  2. 数据库键(key)、主键(primaryKey)、索引(index)、唯一索引(uniqueIndex)区别

    1.键:key,数据库的物理结构,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的).包括:primary key, unique key, foreign key(主键/唯一键 ...

  3. 主键和唯一性索引的区别

    主键一定是唯一性索引,唯一性索引并不一定就是主键.  所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引. 因为主键可以唯一标识某一行记录,所以可以确保执行数 ...

  4. 主键、聚集索引、非聚集索引区别

    下面是一个简单的比较表   主键 聚集索引 用途 强制表的实体完整性 对数据行的排序,方便查询用 一个表多少个 一个表最多一个主键 一个表最多一个聚集索引 是否允许多个字段来定义 一个主键可以多个字段 ...

  5. 删除主键索引 oracle,删除主键无法删除对应索引问题 drop constraint

    --在删除一个表主键的时候索引没有删掉的问题,如果主键索引是和主键约束一起建的, 则删除约束的时候索引会自动删除掉,如果是先建了索引,然后建立主键,则删除约束的时候索引不会一起被删除掉 测试: --创 ...

  6. Mysql主键索引与非主键索引

    Mysql主键索引与非主键索引 前言 InnoDB引擎 主键索引: 非主键索引 MySIAM引擎 主键索引 非主键索引 InnoDB和MyISAM的区别 前言 什么是B树: B树也叫B-树,是一棵多路 ...

  7. MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析...

    文章出处:http://inter12.iteye.com/blog/1430144 MYSQL的全表扫描,主键索引(聚集索引.第一索引),非主键索引(非聚集索引.第二索引),覆盖索引四种不同查询的分 ...

  8. 如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

    使用select   *   from   user_tables   可以查询出所有的用户表. 查所有用户的表在all_tables 主键名称.外键在all_constraints 索引在all_i ...

  9. mysql非主键索引_主键索引和非主键索引的区别

    1. 什么是最左前缀原则? 以下回答全部是基于MySQL的InnoDB引擎 例如对于下面这一张表 如果我们按照 name 字段来建立索引的话,采用B+树的结构,大概的索引结构如下 如果我们要进行模糊查 ...

  10. oracle 主键_mysql 组合索引带主键ID的问题

    场景: mysql 5.7 某表 t_apply_info 上的2个索引,一个组合索引带了 主键字段 ID,另一个是同字段的单列索引 例如: KEY idx_1 (apply_serial_no,id ...

最新文章

  1. 参考文献必备神器:这个插件能快速知道收藏的论文是否靠谱
  2. python【力扣LeetCode算法题库】67-二进制求和
  3. 在一个字符串寻找另一个字符串,并且输出短字符串头字母在长字符串的下标...
  4. MySQL数据库备份和还原的常用命令小结
  5. ALB Ingress 发布,轻松应对云原生应用流量管理
  6. 达摩院文档级关系抽取新SOTA和零样本关系抽取新任务
  7. struts2 手动验证和框架验证
  8. 1040B. Shashlik Cooking
  9. pytorch 查看参数是否被训练 require_grad()
  10. Linux系统管理(9)——系统状态监控命令top使用详解
  11. 【QT】Qaction和触发函数建立连接的方法
  12. ⑤初识java:打印日历
  13. 显卡功耗测试用什么软件,跑什么测试显卡功耗最高:这20个项目能给你答案
  14. 【活动报名】1024,一起过节,一起品网易/美团/贝壳/PingCAP/爱奇艺云原生实践干货!
  15. 只有1kb的清理软件_1kb文件夹快捷方式病毒专杀工具下载
  16. JDK-8u131 软件安装教程
  17. python runner.daemonrunner_python3.3.4:pythondaemon3K;如何使用runn
  18. 合创视觉平面设计中基础色彩原则
  19. UI设计中一致性为什么这么重要
  20. JavaScript js如何代码加密绑定域名

热门文章

  1. C++ 使用move来删除用户指定的文件
  2. java 遍历100以内的偶数,偶数的和,偶数的个数
  3. arm 开发工具比较(ADS vs RealviewMDK vs RVDS)
  4. 25岁肥胖!美研究:晚年恐出现病态肥胖
  5. 即时通讯开发(逐行、隔行扫描)
  6. 怎样在C语言程序中使用功能键和箭头键?
  7. 18条工作感想:不要不情愿地工作
  8. H.264学习历程(天之骄子)
  9. 算术编码(Arithmetic Coding)源代码
  10. TeamViewer13 -- 安装、使用说明