面试总结(一)
作者:互联网
多表联查
先讲思想:先注意审题,将题目中要查找出的东西作为基表,然后进行连接,一个表一个表的连接,然后再将查询出的表作为一个整体,在做条件的筛选
多表查询有3种方式,分别是:1、传统方式,包括左外连接查询,右外连接查询 ,完全外链接查询;2、子查询方式,包括单行查询,多行查询;3、聚合查询方式,包括求和,平均查询,记录总数。
外键
什么是外键:外键(FK)是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
为什么要使用外键:保证数据的参照完整性
特别注意:没有外键,也可以进行内外连接,多表联查
# 例子,每个班级发表的文章总数
SELECT count(a.id) as article_sum,c.id FROM stu as s
INNER JOIN class as c
INNER JOIN article as a
ON s.class_id = c.id AND s.id = a.stu_id
GROUP BY c.id;
mysql事务处理
#mysql的事务开启:START TRANSACTION
#事务的提交:COMMIT
#事务的回滚:ROLLBACK (一旦事务提交失败,我们需要将数据回滚到之前的状态,需要用到rollback语句)
SpringBoot使用事务:就是使用@Transactional
Mybatis使用事务:在mybatis-config.xml中添加如下配置`<transactionManager type="jdbc"/>` 或者conn.setAutoCommit(false);再手动处理。
原生
try{
//开始事务(conn.setAutoCommit(false);)
//执行具体操作
//提交事务
}catch(Exception e){
//回滚事务
//处理异常
}finally{
//释放资源
}
标签:总结,事务,多表,回滚,外键,查询,面试,id 来源: https://www.cnblogs.com/ruiruizhou/p/16676240.html