Mysql中主键和外键和索引
Mysql中主键和外键和索引
1.主键和外键是什么
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键
课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键
成绩表(学号,课程号,成绩)
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键
成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键。
2.主键和外键有什么用
维护关系数据库的完整性
主键是能确定一条记录的唯一标识。外键可以和另一张表产生关联, 能确定另一张表记录的字段,可以保持数据一致性。
起到约束作用
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
3.索引是什么
索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据。
索引主要用于优化查询效率。
CREATE INDEX命令的基本语法如下:
CREATE INDEX index_name ON table_name;
单列索引:
单列索引基于单一的字段创建,其基本语法如下所示:
CREATE INDEX index_name
ON table_name (column_name);
唯一索引:
唯一索引不止用于提升查询性能,还用于保证数据完整性。唯一索引不允许向表中插入任何重复值。其基本语法如下所示:
CREATE UNIQUE INDEX index_name
on table_name (column_name);
聚簇索引:
聚簇索引在表中两个或更多的列的基础上建立。其基本语法如下所示:
CREATE INDEX index_name
on table_name (column1, column2);
创建单列索引还是聚簇索引,要看每次查询中,哪些列在作为过滤条件的 WHERE 子句中最常出现。
如果只需要一列,那么就应当创建单列索引。如果作为过滤条件的 WHERE 子句用到了两个或者更多的列,那么聚簇索引就是最好的选择。
DROP INDEX 命令:
索引可以用 SQL DROP 命令删除。删除索引时应当特别小心,数据库的性能可能会因此而降低或者提高。
其基本语法如下:
DROP INDEX table_name.index_name;
3.主键、外键、索引差别
Mysql中主键和外键和索引相关推荐
- mysql中为表增加外键_如何在Excel 2013中为符号分配键盘快捷键
mysql中为表增加外键 We've previously shown you how to add keyboard shortcuts to symbols in Word 2013 to mak ...
- MySQL中如何删除有外键约束的表数据?
介绍表关系: 目的:删除以orders为中心的4表信息-->orders.member.product.order_traveller 注意:对于订单,不能因为删订单就把产品删掉.不能因为删订单 ...
- mysql not in 多列,MySQL中的多列外键?
I have a table that has a primary key consisting of two columns (product_id, attribute_id). I have a ...
- mysql中什么是表?列?行?什么是主键和外键?什么是索引?为什么要使用索引?
mysql中什么是表?列?行? 在关系数据库中,表(Table)是数据的主要组织单元.它是由一组命名的列和行组成,用于存储和组织数据. 列(Column)是表中的一个字段,用于存储特定类型的数据.每个 ...
- mysql中主键外键的作用_数据库主键和外键的作用以及索引的作用,它的优缺点是什么?...
定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 1.主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄. 身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证 ...
- mysql主键和外键示例_SQL数据库中主键和外键的应用实例
数据库 什么是数据库主键(Primary Key)? 数据库主键(Primary Key):指的是一个列或多列的属性组合,其属性值能唯一标识一条记录,通过它可强制表的实体完整性. 例如: (tb_Bo ...
- MySQL的几个概念:主键,外键,索引,唯一索引
一.概念: 1.主键(primary key) 能够唯一标识表中某一行的属性或属性组.一个表只能有一个主键,但可以有多个候选索引.主键常常与外键构成参照完整性约束,防止出现数据不一致.主键可以保证记录 ...
- MySQL 中主键的几种表设计组合的实际应用效果
了解主键.外键.索引 主键 主键的主要作用是保证表的完整.保证表数据行的唯一性质, ① 业务主键(自然主键):在数据库表中把具有业务逻辑含义的字段作为主键,称为"自然主键(Natural K ...
- mysql中有主键和外键吗_谈谈mysql的主键和外键
主键:保证数据的唯一性,非空且唯一,一般设置主键的语法为:字段 类型 PRIMARY KEY;或者 字段 类型,PRIMARY KEY(字段名) 外键:保证数据的完整性,一致性.一般设置的外键关联的是 ...
最新文章
- 听说redux和react-redux在写项目中更配哦
- Java 图片处理——如何生成高清晰度而占有磁盘小的缩略图
- Oracle数据库相关
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition) C. XOR Equation 数学
- 【网络信息安全】鉴别和密钥分配协议
- Hibernate常用Annotation标签说明
- 视觉SLAM十四讲第三讲
- ​​​​浏览器中添加Json解析工具
- flash builder 4.6 mac 版破解方法
- 数据分析——实习僧数据分析岗招聘信息分析
- android开发 app消息提醒功能,Android中利用App实现消息推送机制的代码
- Windows使用CMD命令查看WIFI密码
- 如何记住OSI七层协议模型,脑洞大开有木有?
- 微信小程序中的vw和vh单位
- alpha测试和beta测试
- 2,4-二硝基苯磺酰基(DNBS)修饰BODIPY染料识别GSH/溶酶体
- 报错:HTTP 401 Unauthorized
- 【毕业设计】16-基于单片机的酒精浓度监测系统设计(原理图+仿真+实物图+论文+答辩PPT)
- MYSQL 安装/ Navicat可视化数据库使用
- 中国整形外科医院发展规模分析:诊疗人次数为96万人,同比减少5.46%[图]