软件测试|SQL分类大概有几种?SQL中什么是主键和外键,它们之间的区别是什么?

2023-03-31 18:04:32 浏览数 (2)

前言

之前一个朋友面试测试开发岗位,面试官问了这个问题,朋友觉得自己没有很好回答这个问题,面试结束之后找到我,我只能帮他总结成这样了,希望能够帮助到那位朋友。

SQL语言分为五大类:

DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。

DQL(数据查询语言) - Select 查询语句不存在提交问题。

DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。

DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。

DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。

SQL主键和外键:结论

主键和外键是数据库设计中的重要概念,因为它们有助于建立表之间的关系并帮助确保数据的完整性。

一个主键可以唯一地识别一个表中的行,而一个外键则是通过引用相关表的主键将两个表联系在一起。

这里你应该注意的最重要的区别是,主键不能有NULL值,而外键可以接受NULL值。

什么是主键

主键是表中的一个列(或一组列),用于唯一地识别表中的每一行。它不能包含空值,并且在表中的所有行中必须是唯一的。一个表中只允许有一个主键。

一个主键基本上是 “UNIQUE “和 “Not Null “约束的组合。因此,它不能是一个NULL值。关于主键需要注意的另一点是,它的值不能从父表中删除。

什么是外键

外键是一个表中的一个列(或一组列),指的是另一个表中的主键。它被用来在两个表之间建立联系,并被用来在数据库中执行参考完整性。外键基本上是一个表中的字段/列,类似于其他表的主键。

与主键不同,一个表可以有一个以上的外键。而且,在关系数据库中,外键可以包含重复值和空值。一个外键的值可以从子表中删除。

数据库中主键和外键的重要区别

下表强调了主键和外键之间的所有重要区别

Key

主键

外键

Basic

它用于唯一地识别表中的数据。

它用于维护表之间的关系。

Null

它不可能是NULL。

它可以接受NULL值。

重复的

两条或多条记录不能有相同的主键。

它可以为一个外键属性携带重复的值。

Index

Primary有聚类索引。

默认情况下,它不是聚类索引。

Tables

可以在临时表上定义主键约束。

它不能被定义在临时表上。

总结

本文主要是对SQL分类,以及主键外键的区别进行了描述,这是一个基本的面试题,希望能够帮助大家解决这一类的面试问题。

0 人点赞