当前位置: 首页 > article >正文

数据库基础(5) . DCL

3.SQL 语句

SQL (Structured Query Language) 结构化查询语言

是一种用于管理和处理关系型数据库的标准计算机语言

是1974年由Boyce和Chamberlin提出的一种介于关系代数与关系演算之间的结构化查询语言

是ANSI(美国国家标准协会)和ISO(国际标准化组织)的标准。

  1. 数据定义(Data Definition Language, DDL)

    • CREATE:创建新的数据库、表、索引等数据库对象。
    • ALTER:修改现有的数据库对象,如添加或删除列。
    • DROP:删除数据库对象,如删除表。
  2. 数据操纵(Data Manipulation Language, DML)

    • INSERT:向表中插入新记录。
    • UPDATE:更新已存在的记录。
    • DELETE:删除记录。
  3. 数据查询(Data Query Language, DQL)

    • SELECT:从数据库中检索数据。这是SQL中使用最频繁的部分,用于构造各种复杂的查询。
  4. 数据控制(Data Control Language, DCL)

    • GRANT:授予用户或角色对数据库对象的访问权限。
    • REVOKE:撤销已经授予的权限。

3.1. DCL

数据控制语言 DCL : Data Control Language

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。

3.1.1.创建用户

创建新账号

create user 'newuser'@'%' identified with mysql_native_password by '123456';
  • 新创建的用户默认没有任何权限。

  • 使用%作为主机名意味着该用户可以从任何地方连接到数据库。在生产环境中,通常建议限制用户从特定的IP地址或主机名连接,以增加安全性。

删除用户

drop user 'newuser'@'%';

3.1.2.GRANT:授权

查看用户是否有指定权限

select select_priv,create_view_priv from mysql.user where user='root';

查看用户权限

show grants for 'newuser'@'%';

授权所有权限

grant all privileges on *.* to 'newuser'@'%';

对指定库权限

grant all privileges on 库名.* to 'newuser'@'%';

授权基本的查询修改权限

grant select,insert,update,delete,create,drop,alter on *.* to 'newuser'@'%';

删除授权

revoke all on *.* from 'newuser'@'%';

3.1.3.time_zone : 设置时区

MySQL 的默认时区是美国时间,与中国不一样,需要修改时区,修改时区有两种方法

3.1.3.1. 指令修改

如果不想重启服务器,需要用命令设置,命令如下:

-- 从MySQL服务器中检索与“时区”相关的变量信息
show variables like '%time_zone%';


-- 修改 mysql 全局时区为北京时间,即我们所在的东 8 区
set global time_zone = '+8:00'; 
-- 或者  因为'+8:00'和'Asia/Shanghai'都表示的是UTC+8的时间区域
set global time_zone = Asia/Shanghai


 -- 修改当前会话时区,  而不会改变整个MySQL服务器的默认时区设置
set time_zone = '+8:00';
3.1.3.2.修改配置文件

如果可以重启 MySQL 服务,则可以修改配置文件,打开 my.ini 文件,添加如下配置信息后重启服务.

[mysqld]

default-time_zone = '+8:00'

3.1.4.提交

在数据库的插入、删除和修改操作时,只有当事务在提交到数据库时才算完成。
在事务提交前,只有操作数据库的这个人才能有权看到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。

格式 : COMMIT [WORK]

3.1.4.1.显式提交

用COMMIT命令直接完成的提交为显式提交。

commit
3.1.4.2.隐式提交

用SQL命令间接完成的提交为隐式提交。这些命令是:ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

3.1.4.3.自动提交

若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。

set autocommit on;

3.1.5.回滚

回滚—ROLLBACK回滚命令使数据库状态回到上次最后提交的状态。

格式 : ROLLBACK [WORK] TO [SAVEPOINT]

rollback;

http://www.kler.cn/a/388278.html

相关文章:

  • 搭建监控系统Prometheus + Grafana
  • Qwen2 系列大型语言模型
  • 软考:去中心化的部署有什么特点
  • Django 详细入门介绍
  • springboot参数校验
  • UI资源分包 -- 基于Xasset框架代码实例
  • 笔记整理—linux驱动开发部分(7)misc类设备(杂项设备)
  • nginx的相关命令
  • Nginx(编译)+Lua脚本+Redis 实现自动封禁访问频率过高IP
  • Type-C转DP线方案
  • 性能调优专题(7)之Innodb底层原理与Mysql日志机制深入剖析
  • 比流计算资源效率最高提升 1000 倍,“增量计算”新模式能否颠覆数据分析?
  • 学SQL,要安装什么软件?
  • Dart中List API用法大全
  • 帝国CMS7.5仿模板堂柒喜模板建站网 素材资源下载站源码
  • [产品管理-64]:如何通过开放式创新提升产品的创新能力?
  • 动态规划理论基础和习题【力扣】【算法学习day.24】
  • 向日葵软件Windows系统连接苹果系统(MacOS)的无反应问题解决办法
  • 基于python的天气数据采集与可视化分析,对20个城市的天气适宜出行度分析
  • Spring声明式事务 编程式事务
  • 天云数据战略签约浪潮 成为浪潮智慧城市银河联盟2024优秀战略合作伙伴
  • bert-base-uncased处理文档
  • 华为eNSP实验:IP Source Guard
  • 0. 渲染游戏画面
  • 医学可视化之涟漪图
  • 【51单片机】I2C总线详解 + AT24C02