索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。MySQL提供多种索引类型供选择:普通索引 、唯一性索引、主键索引 、全文索引等等。下面本篇文章就来给大家介绍一下主键索引和普通索引之间的区别。

普通索引

普通索引是最基本的索引类型,而且它没有唯一性之类的限制。普通索引可以通过以下几种方式创建:

创建索引,例如

CREATE INDEX <索引的名字> ON tablename (列的列表);

修改表,例如

ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);

创建表的时候指定索引,例如

CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );

主键索引

主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”。

主键一般在创建表的时候指定,例如

CREATE TABLE tablename ( [...], PRIMARY KEY (列的列表) );

但是,我们也可以通过修改表的方式加入主键,例如“ALTER TABLE tablename ADD PRIMARY KEY (列的列表); ”。每个表只能有一个主键。

区别

1、普通索引是最基本的索引类型,没有任何限制,值可以为空,仅加速查询。普通索引是可以重复的,一个表中可以有多个普通索引。

2、主键索引是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值;索引列的所有值都只能出现一次,即必须唯一。简单来说:主键索引是加速查询 + 列值唯一(不可以有null)+ 表中只有一个。

以上就是mysql主键索引和普通索引之间的区别是什么的详细内容

mysql主键索引和普通索引之间的区别相关推荐

  1. mysql主键创建非聚集索引_什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推...

    聚集索引 我们先建如下的一张表 CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',`name` var ...

  2. mysql主键索引需要创建_mysql主键还需要建立索引吗?

    mysql主键不需要建立索引,主键具备索引的功能:当创建或设置主键的时候,mysql会自动添加一个与主键对应的唯一索引,不需要再做额外的添加.数据库管理系统对于主键会自动生成唯一索引,所以主键是一个特 ...

  3. MySQL主键、普通索引和唯一索引的区别、全文索引

    1 概念区分 普通索引 V.S 唯一索引 普通索引可重复,唯一索引和主键一样不能重复. 唯一索引可作为数据的一个合法验证手段,例如学生表的身份证号码字段,人为规定该字段不得重复,那么就使用唯一索引.( ...

  4. mysql主键索引_mysql主键与索引

    一.概念: 1.主键(primary key)能够唯一标识表中某一行的属性或属性组.一个表只能有一个主键,但可以有多个候选索引.主键常常与外键构成参照完整性约束,防止出现数据不一致.主键可以保证记录的 ...

  5. Oracle与Mysql主键、索引及分页的区别小结

    Oracle与Mysql主键.索引及分页的区别,学习oracle的朋友可以参考下 区别: 1.主键,Oracle不可以实现自增,mysql可以实现自增. oracle新建序列,SEQ_USER_Id. ...

  6. mysql 主键索引如何创建_SQL创建索引、主键

    -- MySQL中四种方式给字段添加索引 1) # 添加主键 # ALTER TABLE tbl_name ADD PRIMARY KEY (col_list); # -- // 该语句添加一个主键, ...

  7. MySQL 主键和索引

    主键:关系数据可依赖于主键,主键在物理层面上主要有两个用途: 唯一的标识一行 因为主键可以唯一标识一行记录,所以可以确保执行数据更新.删除的时候不会出现张冠李戴的错误. 作为一个可以被外键引用的对象 ...

  8. MySQL主键索引和唯一索引区别

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

  9. mysql 主键 聚集索引_主键索引就是聚集索引吗?

    这个问题很刁钻! 答案是错的. 的确在mysql数据库innodb引擎里面,主键的确就是聚集索引. 但是myisam引擎里面主键也不是聚集索引. 另外在sql server中还可以显示的指定聚集索引. ...

最新文章

  1. 【题解】 HDU 2570 迷瘴
  2. JS-String方法
  3. business man
  4. ORA-16038的解决(日志无法归档)
  5. [LOJ#6068]. 「2017 山东一轮集训 Day4」棋盘[费用流]
  6. 事务隔离级别,看这一篇就够了
  7. mega5安装包_[MEGA DEAL] 2017年完全Java捆绑包(95%折扣)
  8. hough变换直线检测_python+opencv实现霍夫变换检测直线
  9. 浅析网络编程之Socket模型
  10. mysql空间是什么格式_MySQL数据类型 - 空间数据类型 (6)
  11. Spring Boot基础学习笔记22:自定义用户控制、登录与退出
  12. UI设计干货素材|动态交互插画模板
  13. zookeeper和eureka的对比
  14. ionic4 QQ登陆集成
  15. 【HDOJ6957】Maximal submatrix(单调栈,最大子矩阵面积)
  16. 如何轻松搞定SAP HANA数据库备份?
  17. NTLite精简Windows 7 Ultimate SP1
  18. 邮件发送JS脚本传播敲诈者木马的分析报告
  19. python tk隐藏窗口_显示tkinter消息框时,隐藏root窗口
  20. 分形之——谢尔宾斯基三角形

热门文章

  1. 马尔科夫链--维基百科
  2. NTP时间同步服务器(北斗卫星时钟服务器)的安装步骤
  3. Spring知识点回顾1
  4. Android简单实现嘴唇贴纸功能
  5. 这些实用的小程序值得你来看
  6. 铝桁架梁的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. 计算机发展带来怎么样的变化,科技发展带来的变化
  8. mesh和wifi中继的区别_一文读懂:小米Wi-Fi6路由器上的Mesh到底是什么?
  9. Python开发环境搭建
  10. 小程序wxParse不显示图片,图片链接错误不完整,解决方案!