主键与索引

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。主要分为两种类型,单列索引和组合索引。

说明:
UNIQUE:可选。表示索引为唯一性索引。
FULLTEXT:可选。表示索引为全文索引。
SPATIAL:可选。表示索引为空间索引。
INDEX和KEY:用于指定字段为索引,两者作用是一样的

主键本身也是一种索引。

建表时创建单列索引和组合索引示例:

CREATE TABLE classInfo(
id INT AUTO_INCREMENT COMMENT ‘id’,
classname VARCHAR(128) COMMENT ‘课程名称’,
classid INT COMMENT ‘课程id’,
classtype VARCHAR(128) COMMENT ‘课程类型’,
classcode VARCHAR(128) COMMENT ‘课程代码’,
– 主键本身也是一种索引
PRIMARY KEY (id),
– 给classid字段创建了唯一索引(注:也可以在上面创建字段时使用unique来创建唯一索引)
UNIQUE INDEX (classid),
– 给classname字段创建普通索引
INDEX (classname),
– 创建组合索引
INDEX (classtype,classcode)
– 指定使用INNODB存储引擎(该引擎支持事务)、utf8字符编码
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT ‘课程明细表’;

普通索引:最基本的索引,没有任何限制
唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
主键索引:它 是一种特殊的唯一索引,不允许有空值。
全文索引:仅可用于 MyISAM 表,针对较大的数据,生成全文索引很耗时好空间。
组合索引:为了更多的提高mysql效率可建立组合索引,遵循”最左前缀“原则。

主键(起快速查询与唯一标识作用)
表中每一行都应该有可以唯一标识自己的一列(或一组列)
主键(primary key) 一列(或一组列),其值能够唯一区分表中的每个行。
唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只设计相关的行。

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值