Mysql相关知识点(面试题)

一、关系型数据库三大范式

1NF(第一范式):属性(对应于表中的字段)不能再被分割,也就是这个字段只能是一个值,不能再分为多个其他的字段了。1NF 是所有关系型数据库的最基本要求 ,也就是说关系型数据库中创建的表一定满足第一范式。

2NF(第二范式):2NF 要求数据库表中的每个实例或行必须可以被惟一地区分,2NF 在 1NF 的基础上增加了一个列,这个列称为主键,非主属性都依赖于主键。

3NF(第三范式):3NF 在 2NF 的基础之上,要求每列都和主键列直接相关,而不是间接相关,即不存在其他表的非主键信息。

在开发过程中,并不一定要满足三大范式,有时候为了提高查询效率,可以在表中冗余其他表的字段。


二、DML 语句和 DDL 语句区别

DML(数据操作语言)和DDL(数据定义语言)是SQL中两个重要的语言分类,它们的区别在以下几个方面:

1.作用对象不同

DDL用于创建、修改或删除数据库中的对象,例如表、视图、索引等。而DML用于对这些对象中的数据进行操作,例如插入、更新、删除数据等。

2.执行结果不同

DDL执行后会改变数据库对象的结构,但是不会对数据库中原有的数据进行任何操作,因此DDL语句不会返回任何行或列。

DML执行后会对数据进行变更,因此DML语句会返回受影响的行数或者查询到的数据。

3.自动提交方式不同

DDL语句执行后会自动提交事务,即使没有显式地使用“COMMIT”命令,也会将修改持久化到磁盘上。

DML语句执行后不会自动提交事务,需要手动使用“COMMIT”或“ROLLBACK”命令来控制事务的提交或回滚。

4.锁定机制不同

由于DDL语句会修改数据库的结构,因此执行时需要对整张表进行锁定,防止其他用户对该表进行并发操作。

DML语句只会对涉及到的行或者页进行锁定,因此相对于DDL语句来说,对并发操作的影响要小一些。

综上所述,DDL主要用于管理数据库结构、表和列等对象,而DML则是用于增删改查操作。两者的执行结果、自动提交方式和锁定机制都有所不同。


三、主键和外键的区别

主键:用于唯一标识一行数据,不能有重复,不允许为空,且一个表只能有一个主键;

外键:用来和其

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值