文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql中的键和索引相关知识点有哪些

2024-04-02 19:55

关注

本篇内容介绍了“mysql中的键和索引相关知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、主键 索引 关系
1.主键:主键的唯一作用就是唯一标识表中的某一行数据。分为单一主键和联合主键:
单一主键:只用一列就能唯一标识一行。
联合主键:当使用一列已经不能唯一标示一行的时候,就要采用多列唯一标识一行,就是联合主键。联合主健多个字段不能同时相同

2.索引:索引的作用就是提高数据的检索速度,分为单一索引和联合索引:
单一索引:只是用某一列数据作为索引,默认是index索引,这一列可以包含重复数据;如果某一列不存在重复数据最好设置成unique形式的索引,比index的索引速度更快,在text数据上要使用fulltext索引。
联合索引:为了更进一步提高检索速度,每次检索都需要用多列同时进行时,就可以把这多列设为联合索引,提高索引速度,根据多列是否唯一,也分为index索引和unique索引。
联合索引的使用必须注意:不能垮字段使用,比如a b c联合索引 只有a|ab|abc 才能用上联合索引字段。

3.主键一定是索引,但是索引不一定是主键。一个表只能有一个主键或联合主键,但是可以有多个索引。
主键字段必须不能为空,但是索引字段可以为空。

二、外键和主健的关系
1.外键就是让表中字段的值在参照表中的字段中选择的一种约束标示
2.创建外键的条件
被参照字段必须是主键
参照字段和被参照字段必须是相同的数据类型
表的储存引擎必须是innodb

三、语法格式
1.创建主键的命令格式

1.1.在创建表时创建主健
create table 表名(字段列表,primary key(需要设置成主健的字段名) auto_increment); #auto_increment 是需要将主健字段设置成自动增长的关键字,如果主健不是整数类型或者不需要自动增长的时候不需要该关键字;当需要设置联合主键时,多个需要设置成主健的字段名之间用逗号隔开,而且不能使用自动增长`
或者

create table 表名(主健字段 字段类型 primary key auto_increment,字段列表);#此方法在创建联合主健时不可用
1.2.在已经创建好的表上创建主健(如果该表中已经存在数据,且数据违反了主键约束,则无法创建主健,需要解决数据冲突后再创建)
alter table 表名 add primary key(需要设置成主健的字段名) auto_increment;
2.创建外键的命令格式

2.1.在创建表时创建外键(满足创建外键的条件下)
create table 表名(字段列表,foreign key(需要创建外键约束的字段) references 被参照表的表名(被参照表的被参照字段) on update cascade on delete cascade)engine=innodb;
如果外键需要具有唯一标示的时候还可以在外键上加上主健约束
2.2.在已经存在的表中创建外键
alter table 表名 add foreign key(字段名) references 参考表名(参考字段名) on update casecade on delete cascade) engine=innodb;
3.创建索引的命令格式

3.1.创建表的时候创建索引(索引可以有多个,在以下示例中添加的是两个)
create table 表名(字段列表,index(已经存在字段名),index(已经存在的字段名));#如果是联合索引的多个已经存在字段名用,隔开,记住不能跨字段设置联合索引
默认的索引名和字段名相同
3.2.把已经存在的表中的字段设置为索引字段
create index 索引名称 on 表名(字段名)
索引名可以自己命名 一般使用字段名作为索引名
4.创建唯一索引的命令格式和普通索引的格式相似只需要保证字段记录的唯一性就可以使用unique关键字

“mysql中的键和索引相关知识点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯