数据库基础(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;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/910249.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习经典模型之ZFNet

1 ZFNet 1.1 模型介绍 ​ ZFNet是由 M a t t h e w Matthew Matthew D . Z e i l e r D. Zeiler D.Zeiler和 R o b Rob Rob F e r g u s Fergus Fergus在AlexNet基础上提出的大型卷积网络,在2013年ILSVRC图像分类竞赛中以11.19%的错误率获得冠军(实际…

ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(4)

接前一篇文章:ES8388 —— 带耳机放大器的低功耗立体声音频编解码器(3) 二、详细描述 5. 微控制器配置接口 该设备支持标准SPI和2线(I2C)微控制器配置接口。外部微控制器可以通过写入内部配置寄存器来完全配置设备。…

Python实例:爱心代码

前言 在编程的奇妙世界里,代码不仅仅是冰冷的指令集合,它还可以成为表达情感、传递温暖的独特方式。今天,我们将一同探索用 Python 语言绘制爱心的神奇之旅。 爱心,这个象征着爱与温暖的符号,一直以来都在人类的情感世界中占据着特殊的地位。而通过 Python 的强大功能,…

部署stable-diffusion3.5 大模型,文生图

UI 使用推荐的ComfyUI,GitHub 地址,huggingface 需要注册登录,需要下载的文件下面有说明 Dockerfile 文件如下: FROM nvidia/cuda:12.4.0-base-ubuntu22.04 RUN apt-get update && apt-get install python3 pip git --n…

glibc 内存分配与释放机制详解

作者:来自 vivo 互联网存储团队- Wang Yuzhi 本文以一次线上故障为基础介绍了使用 glibc 进行内存管理可能碰到问题,进而对库中内存分配与释放机制进行分析,最后提供了相应问题的解决方案。 一、引言 内存对象的分配与释放一直是后端开发人…

SpringBoot框架在城镇住房保障中的应用

3系统分析 3.1可行性分析 通过对本城镇保障性住房管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本城镇保障性住房管理系统采用SSM框架,JA…

Openlayers高级交互(20/20):超级数据聚合,页面不再混乱

本示例在vue+openlayers中使用cluster生成聚合数据的效果。在OpenLayers中实现点聚合(clustering)是一个常见的需求,特别是在处理大量地理数据点时。聚合可以提高地图的性能并减少视觉上的混乱。 一、示例效果图 专栏名称内容介绍Openlayers基础实战 (72篇)专栏提供73篇文…

内网渗透-信息收集篇

通过webshell或其他方式拿下一台机器,并且存在内网环境,这个时候就在准备进行内网渗透,而在内网渗透之前需要对本地机器进行信息收集,才能够更好的进行内网渗透。 目录 Windows本地基础信息收集 权限查看 判断域存在 查看防火…

诗林工作室(编号:mb0005)分享:HTML模版Paxton,一款自适应响应式图集、博客设计开发模板

这是来自国外一款HTML网页模板,适合Web开发人员做前端站点设计参考使用。全站模版倾向于图集、博客等多行业的平台模版开发。此模版适合各大CMS的主题模版开发参考,如常见的Wordpress主题开发、Z-Blog模板开发、Typecho模板开发、DiscuzX模板开发、Jooml…

SSLHandshakeException错误解决方案

1、错误提示 调用Http工具报如下异常信息: cn.hutool.core.io.IORuntimeException: SSLHandshakeException: Received fatal alert: handshake_failure2、查询问题 一开始我以为是代码bug,网络bug甚至是配置环境未生效,找了一大圈&#xf…

VBA07-方法

一、方法的定义 方法指对象所能执行的动作,它是一个动词。 二、方法的表达方式 三、关于工作簿的方法操作 3-1、新增一个工作簿 示例1: 此时,新增的工作簿的名字是系统默认的。 示例2: 【注意】: 当你尝试将工作簿…

MyBatis3-获取参数值的方式、查询功能及特殊SQL执行

目录 准备工作 获取参数值的方式(重点) 查询功能 查询一个实体类对象 查询一个list集合 查询单个数据 查询一条数据为map集合 查询多条数据为map集合 特殊SQL执行 模糊查询 批量删除 动态设置表名 添加功能获取自增的主键 准备工作 模块My…

构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统

目录 引言工具作用概述DCGM-ExporterNode exporterPROMETHEUSGRAFANA小结 部署单容器DCGM-ExporterNode exporterPROMETHEUSGRAFANANode exporterDCGM-Exporter 多容器Node exporterDCGM-ExporterDocker Compose 参考 引言 本文的是适用对象,是希望通过完全基于Doc…

基因组学与个性化健康:精准医疗的未来方向

基因组学(Genomics)是指对基因组,即一个生物体的全部基因和遗传信息进行分析和研究的科学,旨在探索基因在生物体中的功能、相互作用及其对健康和疾病的影响。个性化健康(Personalized Health)则是基于个体的…

阅读个位数?1分钟学会用AI做爆款,轻松涨粉不是梦

从去年开始,AI造就的视觉艺术就在各个平台上疯狂蔓延,人类用AI一年生成的内容,比过往几千年加起来都多。 网络上铺天盖地都是搞AI,但大部分人真的是在搞AI吗?并不尽然,大部分人只是想用AI搞钱。 更多实操…

发现 API 的 5 种方法

在处理目标时,最值得测试的部分是其 API。API 是动态的,它们比应用程序的其他部分更新得更频繁,并且负责许多后端繁重的工作。在现代应用程序中,我们通常会看到 REST API,但也会看到其他形式,例如 GraphQL …

Netty 如何自动探测内存泄露的发生

本文基于 Netty 4.1.112.Final 版本进行讨论 本文是 Netty 内存管理系列的最后一篇文章,在第一篇文章 《聊一聊 Netty 数据搬运工 ByteBuf 体系的设计与实现》 中,笔者以 UnpooledByteBuf 为例,从整个内存管理的外围对 ByteBuf 的整个设计体系…

51单片机教程(六)- LED流水灯

1 项目分析 基于点亮LED灯、LED灯闪烁,扩展到构成最简单、花样流水灯。 2 技术准备 1 流水灯硬件及原理图 流水灯是由多个LED灯组成的 2 C语言知识点 数组 数组声明:长度不可变 数据类型 数组名称[长度n] // 整数型默认为0,小数型默认…

基础算法——排序算法(冒泡排序,选择排序,堆排序,插入排序,希尔排序,归并排序,快速排序,计数排序,桶排序,基数排序,Java排序)

1.概述 比较排序算法 算法最好最坏平均空间稳定思想注意事项冒泡O(n)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)Y比较最好情况需要额外判断选择O( n 2 n^2 n2)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)N比较交换次数一般少于冒泡堆O( n l o g n nlogn nlogn)O( n l o g n nlogn nlogn)O( n l…

SpringBoot基础系列学习(四):Thymeleaf模板

文章目录 一丶什么是模板引擎二丶Thymeleaf 介绍三丶使用引入依赖代码html页面响应 一丶什么是模板引擎 模板引擎是一种将数据和模板结合起来生成最终结果的工具,它将一个模板和一个数据对象作为输入,通过模板解析和渲染生成最终的结果。通俗地说&#…