SQL数据查询语言-DQL

SQL 基本语法-DML

SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言,主要分为以下几类:

  • DDL(数据定义语言):定义数据库对象(如数据库、表、字段)。
  • DML(数据操作语言):操作表中的数据(增、删、改)。
  • DQL(数据查询语言):查询表中的记录。
  • DCL(数据控制语言):管理用户权限和数据库安全。

DCL 主要用于控制数据库的访问权限和安全性,确保只有授权的用户才能执行特定的操作。常见的 DCL 命令包括 GRANTREVOKE

常用 DCL 命令

  1. GRANT:授予用户特定的权限。

    • 语法:

      1
      GRANT 权限列表 ON 数据库对象 TO 用户 [IDENTIFIED BY '密码'] [WITH GRANT OPTION];
    • 示例:

      1
      2
      3
      4
      5
      -- 授予用户 user1 对 test_db 数据库的所有权限
      GRANT ALL PRIVILEGES ON test_db.* TO 'user1'@'localhost' IDENTIFIED BY 'password';

      -- 授予用户 user2 对 test_table 表的 SELECT 和 INSERT 权限
      GRANT SELECT, INSERT ON test_db.test_table TO 'user2'@'localhost';
  2. REVOKE:撤销用户的权限。

    • 语法:

      1
      REVOKE 权限列表 ON 数据库对象 FROM 用户;
    • 示例:

      1
      2
      3
      4
      5
      -- 撤销用户 user1 对 test_db 数据库的所有权限
      REVOKE ALL PRIVILEGES ON test_db.* FROM 'user1'@'localhost';

      -- 撤销用户 user2 对 test_table 表的 SELECT 权限
      REVOKE SELECT ON test_db.test_table FROM 'user2'@'localhost';

注意事项

  • WITH GRANT OPTION:允许用户将其拥有的权限授予其他用户。
  • 权限的粒度可以是数据库级、表级或列级。
  • 使用 DCL 命令时需要具有管理员权限(如 root 用户)。