mysql主键索引和普通索引之间的区别
索引用来快速地寻找那些具有特定值的记录,所有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主键索引和普通索引之间的区别相关推荐
- mysql主键创建非聚集索引_什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推...
聚集索引 我们先建如下的一张表 CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',`name` var ...
- mysql主键索引需要创建_mysql主键还需要建立索引吗?
mysql主键不需要建立索引,主键具备索引的功能:当创建或设置主键的时候,mysql会自动添加一个与主键对应的唯一索引,不需要再做额外的添加.数据库管理系统对于主键会自动生成唯一索引,所以主键是一个特 ...
- MySQL主键、普通索引和唯一索引的区别、全文索引
1 概念区分 普通索引 V.S 唯一索引 普通索引可重复,唯一索引和主键一样不能重复. 唯一索引可作为数据的一个合法验证手段,例如学生表的身份证号码字段,人为规定该字段不得重复,那么就使用唯一索引.( ...
- mysql主键索引_mysql主键与索引
一.概念: 1.主键(primary key)能够唯一标识表中某一行的属性或属性组.一个表只能有一个主键,但可以有多个候选索引.主键常常与外键构成参照完整性约束,防止出现数据不一致.主键可以保证记录的 ...
- Oracle与Mysql主键、索引及分页的区别小结
Oracle与Mysql主键.索引及分页的区别,学习oracle的朋友可以参考下 区别: 1.主键,Oracle不可以实现自增,mysql可以实现自增. oracle新建序列,SEQ_USER_Id. ...
- mysql 主键索引如何创建_SQL创建索引、主键
-- MySQL中四种方式给字段添加索引 1) # 添加主键 # ALTER TABLE tbl_name ADD PRIMARY KEY (col_list); # -- // 该语句添加一个主键, ...
- MySQL 主键和索引
主键:关系数据可依赖于主键,主键在物理层面上主要有两个用途: 唯一的标识一行 因为主键可以唯一标识一行记录,所以可以确保执行数据更新.删除的时候不会出现张冠李戴的错误. 作为一个可以被外键引用的对象 ...
- MySQL主键索引和唯一索引区别
MySQL主键索引和唯一索引区别 什么是最左前缀原则? 以下回答全部是基于MySQL的InnoDB引擎 例如对于下面这一张表 如果我们按照 name 字段来建立索引的话,采用B+树的结构,大概的索引结 ...
- mysql 主键 聚集索引_主键索引就是聚集索引吗?
这个问题很刁钻! 答案是错的. 的确在mysql数据库innodb引擎里面,主键的确就是聚集索引. 但是myisam引擎里面主键也不是聚集索引. 另外在sql server中还可以显示的指定聚集索引. ...
最新文章
- 【题解】 HDU 2570 迷瘴
- JS-String方法
- business man
- ORA-16038的解决(日志无法归档)
- [LOJ#6068]. 「2017 山东一轮集训 Day4」棋盘[费用流]
- 事务隔离级别,看这一篇就够了
- mega5安装包_[MEGA DEAL] 2017年完全Java捆绑包(95%折扣)
- hough变换直线检测_python+opencv实现霍夫变换检测直线
- 浅析网络编程之Socket模型
- mysql空间是什么格式_MySQL数据类型 - 空间数据类型 (6)
- Spring Boot基础学习笔记22:自定义用户控制、登录与退出
- UI设计干货素材|动态交互插画模板
- zookeeper和eureka的对比
- ionic4 QQ登陆集成
- 【HDOJ6957】Maximal submatrix(单调栈,最大子矩阵面积)
- 如何轻松搞定SAP HANA数据库备份?
- NTLite精简Windows 7 Ultimate SP1
- 邮件发送JS脚本传播敲诈者木马的分析报告
- python tk隐藏窗口_显示tkinter消息框时,隐藏root窗口
- 分形之——谢尔宾斯基三角形