首页 新闻 会员 周边 捐助

关于mysql的约束和索引??

0
悬赏园豆:10 [已解决问题] 解决于 2020-04-07 21:59

各位大佬大佬!!

  主键约束:primary key();pk

  主键约束=not  null + unique主键约束现在默认建立唯一索引

  主键索引(primary   key);

  唯一索引unique);

  问题来了。。。。主键约束就是主键索引吗???

  唯一约束就是唯一索引吗???

  可是网上查的约束和索引完全是两个不同的概念,作用也完全不一样啊!!!

困难户的主页 困难户 | 初学一级 | 园豆:168
提问于:2018-08-20 22:11
< >
分享
最佳答案
0

今天刚看到这块:约束和索引的概念还是有所不同的,约束更是一个逻辑的概念,用来保证数据的完整性,而索引是一个数据结构,既有逻辑上的概念,在数据库中还代表着物理存储的方式。

收获园豆:7
让我发会呆 | 老鸟四级 |园豆:2929 | 2018-08-21 08:54

  好的   谢谢  你一般有这种模棱两可的问题是直接问身边的人吗  百度不好摆的时候

困难户 | 园豆:168 (初学一级) | 2018-08-21 11:20

@困难户: 找官方文档是最好的

让我发会呆 | 园豆:2929 (老鸟四级) | 2018-08-21 11:52

@让我发会呆: 翻译过来的中文文档吗   没看到有什么有价值的东西  全是概念  并没有对比啊

困难户 | 园豆:168 (初学一级) | 2018-08-21 11:54

@困难户: 约束本来就是字面的意思,就是约束数据库数据的。

就像主键约束和主键索引

主键约束就说明这列值都是唯一而且不为null

主键索引为这列数据设置了主键索引,在数据库中会有主键索引这个东西,方便查找之类的。

概念不同,没必要这么纠结,只是一般一个字段设置为主键,那么它肯定会有主键约束的。

让我发会呆 | 园豆:2929 (老鸟四级) | 2018-08-21 13:27

@让我发会呆: 欲练此功必先自宫 这就是约束,我这个解释如何

困难户 | 园豆:168 (初学一级) | 2020-04-07 21:58
其他回答(1)
0

主键约束一般只是一种形象化叫法:因为你将某一列设置为主键后,那么这一列的值就必须唯一且不能为空,这叫主键约束,因为你给这列设为主键,这个列才有这样的限制。如果你把某一列设为唯一键,那么这个列的值必须唯一,这种限制叫唯一约束。而主键索引,唯一键索引是实际存在的数据结构,它存在于表的.ibd文件中。

收获园豆:3
一直是小学生 | 园豆:217 (菜鸟二级) | 2018-08-21 00:36

  好的  说的很精辟 谢谢    网上说的给某一列设为主键  mysql现在会自动给该列创建一个主键索引

另外主键索引是唯一索引的一个特例   是这样吗

支持(0) 反对(0) 困难户 | 园豆:168 (初学一级) | 2018-08-21 11:18

@困难户: 聚簇索引了解下

支持(0) 反对(0) details | 园豆:310 (菜鸟二级) | 2018-10-09 11:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册