SQL语句详解五-DCL(数据控制语言)

这篇具有很好参考价值的文章主要介绍了SQL语句详解五-DCL(数据控制语言)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DCL

  • 概述:DCL,数据库控制语言,用来管理用户和给用户授予权限的

管理用户

  1. 添加用户

    CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
    
  2. 删除用户

    DROP USER '用户名'@'主机名';
    
  3. 修改用户密码

    SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
    
  4. 查询用户

    • 首先切换到 MySQL 数据库
    USE mysql;
    
    • 查询 user 表
    SELECT * FROM USER;
    
  5. 通配符

    • % 表示可以在任意主机使用用户登录数据库
示例代码
-- 添加用户 lisi , 密码 lisi
CREATE USER 'lisi'@'localhost' IDENTIFIED BY 'lisi';

-- 查询用户
USE mysql;		-- 首先切换到 mysql 数据库
SELECT * FROM USER;	-- 查询当前数据库用户表,可看到 lisi 创建成功

-- 修改用户密码,在修改前,可通过命令框形式用 lisi 用户登录MySQL
SET PASSWORD FOR 'lisi'@'localhost' = PASSWORD('123');

-- 删除 lisi 用户
DROP USER 'lisi'@'localhost';

-- 查询用户
USE mysql;		-- 首先切换到 mysql 数据库
SELECT * FROM USER;	-- 查询当前数据库用户表,可看到 lisi 删除成功

-- 添加用户 heng ,密码 heng 在所有主机使用
CREATE USER 'heng'@'%' IDENTIFIED BY 'heng';

权限管理

  1. 查询权限

    -- 显示此主机此用户的权限
    SHOW GRANTS FOR '用户名'@'主机名';
    
  2. 授予权限

    -- 授予权限
    GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
    
  3. 撤销权限

    -- 撤销权限
    REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
    
示例代码
-- 显示 root 用户权限
SHOW GRANTS FOR 'root'@'localhost';

-- 显示 lisi 用户权限
SHOW GRANTS FOR 'lisi'@'localhost';

-- 显示 heng 用户权限
SHOW GRANTS FOR 'heng'@'%';

-- 授予 lisi 更新权限
GRANT UPDATE ON *.* TO 'lisi'@'localhost';

SHOW GRANTS FOR 'lisi'@'localhost';

-- 授予 heng 所有权限
GRANT ALL ON *.* TO 'heng'@'%';

SHOW GRANTS FOR 'heng'@'%';

-- 撤销 heng 用户所有权限
REVOKE ALL ON *.* FROM 'heng'@'%';

SHOW GRANTS FOR 'heng'@'%';

-- 撤销 lisi 用户更新权限
REVOKE UPDATE ON *.* FROM 'lisi'@'localhost';
SHOW GRANTS FOR 'lisi'@'localhost';

-- 删除 lisi heng 用户
DROP USER 'lisi'@'localhost';
DROP USER 'heng'@'%';

SELECT * FROM USER;

这里 *.* 代表,所有数据库的所有数据表文章来源地址https://www.toymoban.com/news/detail-798399.html

用户权限
权限关键字 权限的作用
SELECT 允许用户查询数据库中的数据
INSERT 允许用户向数据库中插入新的数据
UPDATE 允许用户修改数据库中现有的数据
DELETE 允许用户从数据库中删除数据
CREATE 允许用户创建新的数据库、表、索引等对象
DROP 允许用户删除数据库、表、索引等对象
GRANT OPTION 允许用户将自己拥有的权限授予其他用户
REFERENCES 允许用户在表中创建外键约束
INDEX 允许用户创建索引
ALTER 允许用户修改表的结构
CREATE TEMPORARY TABLES 允许用户创建临时表
LOCK TABLES 允许用户锁定表
EXECUTE 允许用户执行存储过程
CREATE VIEW 允许用户创建视图
SHOW VIEW 允许用户查看视图的定义
CREATE ROUTINE 允许用户创建存储过程和函数
ALTER ROUTINE 允许用户修改存储过程和函数
EVENT 允许用户创建、修改、删除事件
TRIGGER 允许用户创建触发器

到了这里,关于SQL语句详解五-DCL(数据控制语言)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【从删库到跑路】MySQL系列——详细讲解SQL的DDL,DML,DQL,DCL语句

    🎊专栏【MySQL】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 内容有点多,建议大家先看目录。 建立在关系模型基础上,由多张相互连接的二维表组成的数据库 🏀使用表存储数据,格式统一,

    2024年02月09日
    浏览(58)
  • SQL语句创建数据库详解

    在SQL中,创建数据库的语句通常是使用 CREATE DATABASE 语句。让我们来详细解释一下这个语句,并通过一个示例来说明如何创建数据库。 CREATE DATABASE语句详解 CREATE DATABASE 语句用于在数据库管理系统中创建一个新的数据库。它的基本语法如下: 其中, database_name 是要创建的数据

    2024年02月19日
    浏览(60)
  • 【MySQL数据库】MySQL 高级SQL 语句一

    ) % :百分号表示零个、一个或多个字符 _ :下划线表示单个字符 ‘A_Z’:所有以 ‘A’ 起头,另一个任何值的字符,且以 ‘Z’ 为结尾的字符串。例如,‘ABZ’ 和 ‘A2Z’ 都符合这一个模式,而 ‘AKKZ’ 并不符合 (因为在 A 和 Z 之间有两个字符,而不是一个字符)。 ‘ABC%’

    2024年02月09日
    浏览(241)
  • 【数据库】MySQL 高级(进阶) SQL 语句

    location表格创建 store_info表格创建 显示表格中一个或数个字段的所有数据记录 不显示重复的数据记录 按照条件进行查询 在已知的字段数据取值范围内取值 另外还有not in命令,用法一致,表示显示不在指定范围内的字段的值。 在两个字段数据值之间取值,包含两边字段的数据

    2024年02月09日
    浏览(136)
  • 【MySQL】数据库SQL语句之DML

    目录 前言: 一.DML添加数据 1.1给指定字段添加数据 1.2给全部字段添加数据 1.3批量添加数据 二.DML修改数据 三.DML删除数据 四.结尾   时隔一周,啊苏今天来更新啦,简单说说这周在做些什么吧,上课、看书、放松等,哈哈哈,所以博客就这样被搁了。   今天感觉不错,给大

    2024年02月08日
    浏览(69)
  • 数据库应用:MySQL数据库SQL高级语句与操作

    目录 一、理论 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.MySQL中6种常见的约束 二、实验  1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.主键表和外键表  三、总结 克隆表:将数据表的数据记录生成到新的表中。 (1)克隆表 ① 先创建再导入 ② 创建

    2024年02月13日
    浏览(81)
  • MySQL相关的SQL语句、数据库、数据表、字段、类型

    1、 SQL 语句不区分大小写。 SQL语句 用途 描述 mysql -u root -p 连接 MySQL 在命令行窗口中输入 mysql -u root -p 命令,回车,然后输入 MySQL 密码(不要忘记了密码,找回麻烦),再回车就连接上 MySQL 了。最初都是使用 root 用户登录,工作中不能一直使用 root 用户登录。因为 root 权限太

    2024年02月13日
    浏览(95)
  • MySQL数据库中的索引(含SQL语句)

    假设有一张表,表中有100万条数据,这100万条数据在硬盘上是存储在数据页上的,一页数据大小为16k。存储100万条数据那么就需要数据页,假设其中有一条数据是“id为7900”的,那么如果要查询这条数据,其中SQL是SELECT * FROM 表名 WHERE id = 7900。在执行这条SQL语句的时候,MyS

    2024年02月02日
    浏览(80)
  • mysql,用sql语句,建立学生-课程数据库基本表

    学生表 学号 姓名 年龄 性别 院系 Student Sno Sname Sage Ssex Sdept 课程表 课程号 课程名 先行课 学分 Course Cno Cname Cpno Ccredit 选课表 学号 课程号 成绩 SC Sno Cno Grade 注意创建表的时候要注意它的字段名,类型,长度,约束条件,取值范围要合适,大小写符号要正确,中文逗号,分号

    2024年02月08日
    浏览(59)
  • MySQL数据库概念、管理以及SQL语句的基本命令操作

    数据(data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一格式进行存储(记录可以看成一条记录) 表 将不同的记录组织在一起 用来存储具体数据 记录:行 字段(属性):列 以行+列的形式就组成了表(数据存储在表中) 数

    2024年02月08日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包