数据库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 操作的一部分,但其主要目的是为其他操作(如更新、删除操作中确定要操作的数据范围等)提供数据。
相关推荐
互联网搬砖老肖38 分钟前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
典学长编程1 小时前
数据库Oracle从入门到精通!第四天(并发、锁、视图)
数据库·oracle
积跬步,慕至千里2 小时前
clickhouse数据库表和doris数据库表迁移starrocks数据库时建表注意事项总结
数据库·clickhouse
极限实验室2 小时前
搭建持久化的 INFINI Console 与 Easysearch 容器环境
数据库
星辰离彬3 小时前
Java 与 MySQL 性能优化:Java应用中MySQL慢SQL诊断与优化实战
java·后端·sql·mysql·性能优化
白仑色3 小时前
Oracle PL/SQL 编程基础详解(从块结构到游标操作)
数据库·oracle·数据库开发·存储过程·plsql编程
程序猿小D4 小时前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的个人财务管理系统,推荐!
java·数据库·mysql·spring·毕业论文·ssm框架·个人财务管理系统
zhuiQiuMX5 小时前
脉脉maimai面试死亡日记
数据仓库·sql·面试
钢铁男儿5 小时前
C# 接口(什么是接口)
java·数据库·c#
__风__6 小时前
PostgreSQL kv(jsonb)存储
数据库·postgresql