数据库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 操作的一部分,但其主要目的是为其他操作(如更新、删除操作中确定要操作的数据范围等)提供数据。
相关推荐
w***42424 分钟前
SQL-Server链接服务器访问Oracle数据
服务器·sql·oracle
程序员小白条33 分钟前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设
老华带你飞1 小时前
社区养老保障|智慧养老|基于springboot+小程序社区养老保障系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·小程序·毕设·社区养老保障
Coding_Doggy1 小时前
链盾shieldchiain | 团队功能、邀请成员、权限修改、移除成员、SpringSecurity、RBAC权限控制
java·开发语言·数据库
凯子坚持 c1 小时前
不用复杂配置!本地 Chat2DB 秒变远程可用,跨网操作数据库就这么简单
数据库
q***65691 小时前
Windows环境下安装Redis并设置Redis开机自启
数据库·windows·redis
q***96581 小时前
Windows版Redis本地后台启动
数据库·windows·redis
q***81641 小时前
【Redis】centos7 systemctl 启动 Redis 失败
数据库·redis·缓存
q***09801 小时前
MySQL 常用 SQL 语句大全
数据库·sql·mysql