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主键创建非聚集索引_什么是聚集索引,非聚集索引,索引覆盖,回表,索引下推...
聚集索引 我们先建如下的一张表 CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',`name` var ...
- mysql主键索引需要创建_mysql主键还需要建立索引吗?
mysql主键不需要建立索引,主键具备索引的功能:当创建或设置主键的时候,mysql会自动添加一个与主键对应的唯一索引,不需要再做额外的添加.数据库管理系统对于主键会自动生成唯一索引,所以主键是一个特 ...
- mysql主键索引和普通索引之间的区别
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.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中还可以显示的指定聚集索引. ...
最新文章
- Android开发小问题集
- 拿什么来衡量程序员的生产力?
- JAVA调用BAPI创建销售订单
- 带宽与流量的基本概念(更新)
- webAPI token验证
- 桁和 / Digit Sum(AtCoder-2038)
- PHP开发的爱情盲盒交友系统网站源码
- C语言 字符串大小写转换
- 一人网站所有的 ip地址_咸宁网站建设-网站的主要特征
- ubuntu中显示本机的gpu_Ubuntu下实时查看Nvidia显卡显存占用情况和GPU温度
- thinkcmf5调用指定分类的二级_Mybatis一二级缓存的使用和实现原理
- 上海市建筑工程资料管理软件
- 计算机思维考试题,10道思维水平测试题
- C#源码刷新网页 最小化托盘http get和post请求配置保存版权时间限制定时调用 单实例运行,如果已经运行则激活窗口到最前显示
- 爬虫爬取电影天堂电影链接
- win10纯净版安装教程
- NOIP 2015 D1 T2 信息传递
- Mysql基础到进阶精品视频教程附讲义文档 91课
- java转人工智能_[转]人工智能缩略语大全
- MyEclipse weblogic Deploy Location项目名称不正确解决方案