数据库常见面试题

2020-06-26  本文已影响0人  文景大大

一、语句相关

1.1 truncate和delete命令异同?

1.2 内连接和外连接的区别?

1.3 数据库的事务是什么?

事务是一组操作的集合,这个集合中的操作要么全部执行成功,要么全部执行不成功;

需要额外指出的是,事务的一致性并不能保证并发的一致性。如果有多个线程同时调用同一个事务,还是会造成数据库数据的不一致性;主要带来的影响有:

关于数据库的隔离级别以及脏幻读的详解可以参考:脏读、幻读、不可重复读

1.4 存储过程是什么?

存储过程是一段SQL代码,在其中可以使用流程控制语句来完成复杂的判断和运算,和函数相比有如下的区别:

1.5 数据库的范式是什么,都有哪些?

范式是研究如何将数据合理地存放在数据库中的一种参考,遵照范式设计数据库,能提高数据查找效率、减少数据冗余、增强数据一致性。

1.6 什么是触发器,都有哪些?

触发器是一种特殊的存储过程,它是由事件触发的,而不是程序调用或者手工调用;与存储过程不同的是,触发器不能提交和回滚,也没有参数输入和输出。

1.7 什么是游标?

游标是一种能从包含多条记录的数据集中每次提取一条进行处理的机制。游标必须与一条查询SQL相关联,它是由数据集和其中指向特定记录的游标位置组成的。

DECLARE my_cursor CURSOR FROM SELECT * FROM PERSON;

如上示例中,my_cursor就是一个指向查询结果集的游标,用来循环处理每一行数据,但是不能对整个数据集统一进行操作。

未完待续...

上一篇下一篇

猜你喜欢

热点阅读