数据库DCL与DQL

一、数据控制语言(DCL)

  • GRANT(授予权限) :用于授予用户对数据库对象的访问权限。
    • 示例:GRANT SELECT, INSERT ON Employees TO UserA;,此语句授予用户UserAEmployees表的查询(SELECT)和插入(INSERT)权限。
  • REVOKE(撤销权限) :撤销用户对数据库对象的访问权限。
    • 示例:REVOKE INSERT ON Employees FROM UserA;,该语句撤销了用户UserAEmployees表的插入权限。

二、数据查询语言(DQL)

  • 核心 :DQL 主要关注数据的查询和检索,SELECT是其核心命令。

  • 基本查询(SELECT) :从一个或多个表中查询数据。

    • 示例:SELECT * FROM Employees;,此语句会查询Employees表中的所有数据(*表示所有列)。
  • 带条件查询(SELECT WITH WHERE):使用条件查询数据。

    SELECT FirstName, LastName
    FROM Employees
    WHERE Salary > 50000;

  • 上述语句会从Employees表中查询出薪水(Salary)大于 50000 的员工的名字(FirstNameLastName)。

  • 多表联接查询(SELECT WITH JOIN):联接多个表查询数据。

    SELECT e.FirstName, e.LastName, d.DepartmentName
    FROM Employees e
    JOIN Departments d ON e.DepartmentID = d.DepartmentID;

  • 在此示例中,通过JOIN关键字将Employees表(别名为e)和Departments表(别名为d)根据DepartmentID进行联接,查询出员工的名字以及所属部门名称。

  • 使用聚合函数查询(SELECT WITH AGGREGATE FUNCTIONS)

    SELECT COUNT(*) AS NumberOfEmployees
    FROM Employees;

  • 该语句使用COUNT(*)聚合函数统计Employees表中的员工数量,并将结果列别名为NumberOfEmployees

三、关于 DML 与 SELECT 的关系

  • DML 是一个更广泛的类别,包括对数据的插入、更新和删除操作。
  • 在某些情况下,SELECT也可以作为 DML 操作的一部分,但其主要目的是为其他操作(如更新、删除操作中确定要操作的数据范围等)提供数据。
相关推荐
~请叫我小祸害~3 分钟前
在 C# 中使用 Dapper 查询数据并导出 Excel
开发语言·数据库·c#·excel
kngines26 分钟前
MySQL开发陷阱与最佳实践:第1章:MySQL开发基础概述-1.1 MySQL简介与应用场景
数据库·mysql
winner88811 小时前
Hive SQL 精进系列: IF 函数的强大功能与高级应用
hive·hadoop·sql
A__tao1 小时前
在线 SQL 转 Python ORM工具
数据库·sql·oracle
微笑伴你而行1 小时前
spring boot 发送邮件验证码
java·数据库·spring boot
爱搞技术的猫猫1 小时前
【实战解析】smallredbook.item_get_video API:小红书视频数据获取与电商应用指南
java·数据库·音视频
huan_19932 小时前
通过mybatis的拦截器对SQL进行打标
数据库·sql·mybatis·mybatis拦截器·sql打标
winner88812 小时前
Hive SQL 精进系列:REGEXP 函数的用法
hive·hadoop·sql
超级无敌新新手小白2 小时前
SQL--算术运算符
数据库
winner88812 小时前
Hive SQL 精进系列:SUBSTR 函数的多样用法
hive·hadoop·sql