DCL(数据控制语言)、DTL(事务控制语言)和mysql编程

2024-02-29 00:48

本文主要是介绍DCL(数据控制语言)、DTL(事务控制语言)和mysql编程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DCL

简介:很多时候一个数据库需要多人进行控制和操作,这时就需要使用数据控制语言来创建账户以及分配可使用权限,可见该语言主要涉及2个问题:

  1. 用户管理
  2. 权限分配

mysql中的权限

首先理解什么是权限,简单来说就是可执行的操作,在mysql中主要用某种字段的开或者关来表示是否有某种权限,权限名如:’select’, ‘update’,大约有30个。

主要权限如下:

mysql中的用户

Mysql中可使用数据库的帐户信息在系统数据库mysql中的user表中:

创建用户:

语法:

Create user ‘用户名’@‘允许其登录的ip地址’ identified by ‘密码’;

解释说明:

  1. User信息表示创建的用户的用户名及可以登录数据库的ip地址,‘%’表示任何地址
  2. 用户创建之后,自动在mysql的user表中添加了一条记录,但没有权限

删除用户:

语法:

Drop user ‘用户名’@’允许其登录的地址’

修改用户密码:

修改自己密码:set password = password(‘新密码’);

修改他人密码(在右修改权限条件下):

Set password for ‘用户名’@’允许其登录的地址’ = password(‘新密码’);

权限分配

增加权限:

简单地说就是赋予某个用户对数据库可执行某种操作的权限

语法:

Grant 权限1, 权限2, …… on 数据库名.对象名 to ‘用户名’@‘允许其登录的地址’ identified by ‘密码’;

解释说明:

  1. 权限名:’select’, ‘update’, ‘delete’,等等。其中ALL表示”所有权限”,与all privileges也一样
  2. 对象名:数据库中含有的例如‘表’,‘视图’,‘存储函数’,‘存储过程’等,其中*代表所有
  3. Identified by ‘密码’ 用于给一个用户修改密码,不写也行
  4. 注意该语句同时也有创建该用户并同时分配权限的作用,此时identified by ‘密码’必须写

删除权限:

语法:

Revoke 权限名1,权限名2,…… on 数据库名 . 对象名 from ‘用户名’@‘允许其登录的地址’

事务控制语言

什么是事务

在之间的mysql语句中,我们对mysql的每条操作语句都是操作及执行即结束,那么就可以说这种“一次性执行并结束”的过程称为“一个事务”,即“一条SQL语句即一个事务”。

然而,在很多工作场合,我们需要让“多条SQL语句”看成“一条SQL语句”(表示只有所有的sql语句要么都执行成功要么都执行失败然后结束),工作中的事务就是如此。

事务的作用

举例一个实际应用需求(银行存款):表名cunkuan

id账户名存款
1test11000
2test25000

这篇关于DCL(数据控制语言)、DTL(事务控制语言)和mysql编程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/757135

相关文章

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值