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

本文介绍了MySQL中的数据控制语言(DCL),包括用户管理和权限分配,详细阐述了如何创建、删除和修改用户,以及如何添加和移除权限。接着,文章探讨了事务控制语言(DTL),讲解了事务的概念、作用、特点和基本实现流程。最后,概述了MySQL编程,包括基本语法、流程控制语句、变量、存储函数、存储过程和触发器的使用。
摘要由CSDN通过智能技术生成

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 账户名 存款
1 test1</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值