一、单表数据查询
1、数据查询语句格式
---------------------------------------------------------------------------------------------------------------------------------
2、从单个表读取指定列
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
3、从单个表读取指定行
---------------------------------------------------------------------------------------------------------------------------------
4、从单个表读取指定行和列
---------------------------------------------------------------------------------------------------------------------------------
5、where条件子句
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
6、对结果集进行排序
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
二、内置函数,分组统计
1、聚合函数
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
2、分组统计
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
三、多表关联查询
1、子查询与多表关联
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
2、使用连接关联多表查询
---------------------------------------------------------------------------------------------------------------------------------
3、JION ON连接查询
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
4、外部链接
前节介绍的多表连接方式在SELECT查询语句称为内部连接。 在一些特殊情况下,如关联表中一些行的主键与外键不匹配,查询结果集就会丢失部分数据。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
四、数据控制SQL语句
---------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------
Question
如何通过权限控制确保数据库安全的同时不放弃每一个来访?
要确保数据库安全的同时不完全拒绝访问请求,可以采用以下策略:
- 最小权限原则:只授予完成任务所需的最低权限。
- 角色基于访问控制(RBAC):通过角色分配权限来简化管理。
- 权限审查和审计:定期检查权限并使用审计日志监控访问。
- 使用视图和存储过程:限制对敏感数据的直接访问。
- 强化身份验证和授权:采用强身份验证和多因素认证。
- 网络安全措施:使用防火墙和加密通信。
- 数据加密:对存储的敏感数据进行加密。
- 错误和异常处理:优雅地处理错误,避免信息泄露。
这些措施共同作用,既保护了数据库免受未授权访问和潜在威胁的影响,同时也允许合法的访问请求在安全的范围内进行。
五、视图SQL语句
视图——是一种通过基础表或其它视图构建的虚拟表。它本身没有自己的数据,而是使用了存储在基础表中的数据。
1、视图创建
---------------------------------------------------------------------------------------------------------------------------------
当视图在数据库中创建后,用户可以像访问关系表一样去操作访问视图
---------------------------------------------------------------------------------------------------------------------------------
2、视图删除
---------------------------------------------------------------------------------------------------------------------------------
3、视图的应用
数据库开发人员可以将复杂的SQL查询语句封装在视图内,外部程序只需要使用简单的视图访问方式,便可获取所需要的数据。
①.简化复杂查询操作
---------------------------------------------------------------------------------------------------------------------------------
②.安全性
---------------------------------------------------------------------------------------------------------------------------------
Question
视图访问安全性与控制语句的安全性,应用上有何差异?
- 灵活性与细粒度:视图提供了更高的灵活性和更细粒度的控制,适用于复杂的数据访问需求和策略。控制语句则更倾向于实现简单直接的权限管理。
- 安全策略实施:视图可以用于实现更复杂的安全策略,如数据脱敏、行级安全等,而权限控制语句更多用于实施基础的访问控制。
- 管理复杂性:通过视图实现安全性可能导致数据库设计和管理的复杂性增加,尤其是在需要创建和维护大量视图的情况下。直接使用权限控制语句则相对简单直接,但可能不够灵活。