day5
2024-12-16 19:28:32 1 举报
AI智能生成
1
作者其他创作
大纲/内容
01.数据库子查询方法(看懂查询方法)<br>
查询概念介绍说明<br>
将一个查询语句完全嵌套到另一个查询语句中的的WHERE或HAVING的条件表达式中,这种查询称为嵌套查询;<br>通常把内部的、被另一个查询语句调用的查询称为"子查询";<br>将调用子查询的查询语句称为"父查询",子查询还可以可以调用子查询;<br>
子查询应用方式方法<br>
不相关子查询:<br>
单行子查询
多行子查询<br>
相关子查询<br>
不相关子查询实践应用<br>
没有应用子查询操作时<br>select sal from emp where ename='CLARK'; --2450<br>select * from emp where sal > 2450;<br>
# 进行应用子查询操作后<br>select * from emp where sal > (select sal from emp where ename='CLARK');<br>
不相关子查询特点:<br>一条SQL语句含有多个select,先执行子查询,再执行外查询;<br>子查询可以独立运行,就称为不相关子查询;根据子查询的结果行数,可以分为单行子查询和多行子查询;<br>
单行子查询应用<br>
单行子查询就是子查询输出的结果集为一行信息,可以直接进行比较即可;(< > =)<br>
练习01:查询工资高于平均工资的雇员名字和工资;<br>select ename,sal from emp where sal >(select avg(sal) from emp);<br>
多行子查询应用<br>
多行子查询就是子查询输出的结果集为多行信息,不能直接进行比较处理,需要借助 `in 或者 any 或者 all` 进行处理;<br>
相关子查询:<br>
一条SQL语句含有多个select,先执行外查询,再执行子查询;<br>子查询不可以独立运行,就称为相关子查询;<br>- 相关子查询优势:操作简单,功能强大(一些使用不相关子查询不能实现或者实现繁琐的子查询,可以使用相关子查询实现)<br>- 相关子查询缺陷:语句操作稍难理解<br>
练习01:查询本部门最高工资的员工<br>select * from emp e where e.deptno=10 and sal = (select max(sal) from emp a where a.deptno=10);
02.数据库服务日志管理<br>
创建日志
mkdir /data/3306/log -p<br>chown -R mysql.mysql /data/3306/log<br>
通用日志管理:(创建生成日志 如何查看日志信息)<br>
- 通用日志:记录登录数据库用户的操作行为日志 (审计日志)<br>
-- 创建生成日志 <br>vi /etc/my.cnf <br>general_log=ON<br>general_log_file=/data/3306/log/general.log<br>
-- 查看日志信息<br>[root@db-01 ~ 11:05]# tail -f /data/3306/log/general.log<br>
错误日志管理:(创建生成日志 如何查看日志信息)<br>
- 错误日志:记录数据库服务运行情况信息 (排查故障)<br>
-- 创建生成日志 <br>vi /etc/my.cnf <br>log_error=/data/3306/log/error.log<br><br>touch /data/3306/log/error.log<br>chown mysql.mysql /data/3306/log/error.log<br>
-- 查看日志信息:<br>cat /data/3306/log/error.log<br>
-- 有些错误信息,是数据库程序中代码错误提示(看不懂的提示),需要借助AI工具进行排错 (AI 科学上网)
二进制日志管理:<br>
二进制日志: 记录数据库用户DML DDL DCL操作语句信息(不包含查询语句信息) (恢复数据 主从同步) *****
1)二进制日志配置参数<br>
log_bin -- 开启二进制日志,并设置保存路径信息(新版数据库默认开启 旧版数据库默认关闭)<br>
sql_log_bin -- 是否临时禁用二进制日志记录功能 (临时设置--会话级别设置) 1-- 表示记录日志 0 -- 表示关闭记录功能<br>
sync_binlog -- 二进制日志记录方式(数据库双一配置)<br>
-- 参数信息配置0:表示由操作系统缓存自己决定,什么时候刷新日志到磁盘中; 性能考虑设置<br>
-- 参数信息配置1:表示每次事务提交,立即刷新日志到磁盘中;(此方式配置更安全) 安全考虑设置<br>
-- 参数信息配置N:表示每组事务提交,按照组的事务次数定义,确定刷新日志到磁盘中的频次;(可以有效减少IO性能损耗)<br>
-- 参数官方资料链接:https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html
binlog_format -- 设置日志格式信息<br>
SBR -- 语句格式记录binlog信息 可以清楚看到DML相关语句操作信息 update insert delete 恢复数据会出现不易<br>
RBR -- 行格式记录binlog信息 不能清楚看到DML相关语句操作信息 将行的数据信息编码处理记录 恢复数据可以保证一致性<br>
2)二进制日志查看方<br>
3)二进制日志过滤查看<br>
4)二进制日志恢复数据<br>
5)二进制日志切割设置<br>
6)二进制日志清理设置<br>
7)二进制日志备份管理<br>
0 条评论
下一页