数据库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 操作的一部分,但其主要目的是为其他操作(如更新、删除操作中确定要操作的数据范围等)提供数据。
相关推荐
这个DBA有点耶33 分钟前
数据库教程:从零基础到实战的完整学习路径(2026版)
数据库·程序员·代码规范
forestsea1 小时前
从零构建 Java 智能体 RAG 系统:Milvus 向量数据库实战指南
java·数据库·milvus
probex_2 小时前
从 ByConity 到 VictoriaMetrics:一次指标数据迁移引发的四种存储对比
数据库
Patrick在香港2 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
这个DBA有点耶2 小时前
自增主键用尽了怎么办?INT溢出、在线迁移与预防策略全解析
数据库·mysql·代码规范
老纪的技术唠嗑局3 小时前
Agent 习惯性删库跑路,数据库纷纷学 Git 续命
数据库·人工智能
Data_Journal3 小时前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
白远山4 小时前
健身场馆无人自动化解决方案:从架构到落地实践
java·开发语言·数据库·数据挖掘·需求分析
虎虎(_ _)。゜zzZ4 小时前
SQLAlchemy入门教程
数据库·后端·python·sql·ai·sqlalchemy
梦帮科技4 小时前
RNS 代币架构:ERC20 五件套扩展与六钱包分配
人工智能·sql·区块链·database·合成复用原则·加密货币