数据库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 操作的一部分,但其主要目的是为其他操作(如更新、删除操作中确定要操作的数据范围等)提供数据。
相关推荐
Dxy123931021635 分钟前
MySQL的UPPER函数介绍
数据库·mysql
倔强的石头_37 分钟前
KingbaseES:从兼容到超越,详解超越MySQL的权限隔离与安全增强
数据库
yuezhilangniao1 小时前
mysql mogoDB pg redis-四大数据库选型-数据库对比大白话指南
数据库·redis·mysql
一 乐1 小时前
医疗保健|医疗养老|基于Java+vue的医疗保健系统(源码+数据库+文档)
java·前端·数据库·vue.js·毕设
m0_748248023 小时前
Redis 简介与安装指南
数据库·redis·缓存
Elastic 中国社区官方博客8 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
编程爱好者熊浪9 小时前
两次连接池泄露的BUG
java·数据库
TDengine (老段)11 小时前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
qq74223498411 小时前
Python操作数据库之pyodbc
开发语言·数据库·python
姚远Oracle ACE11 小时前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle