事务与dcl

1.事务的基本介绍

      1.概念

          如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。

      2.操作

            1.开启事务:start transaction

            2.回滚:Roolback

            3.提交:commit

        mysql数据库事务会默认提交

    执行一条DML语句会自动提交一次事务

手动提交:

oracle 数据库默认是手动提交事务

需要先开启事务,再提交

修改事务的默认提交方式 set @@autocommit=0;

查看事务的提交方式 Select @@autocommit; 1表示自动 0为手动

2.事务的四大特征

  1.原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败

  2.持久性:当事务提交或回滚后,数据库会持久化的保存数据。

  3.隔离性:多个事务之间。相互独立。

  4.一致性:事务操作前后,数据总量不变。

3.事务的隔离级别

多个事务之间隔离的,相互独立的,如果多个事务操作同一批数据,会发生一些问题

1.脏读:一个事务,读取到另一个事务中没有提交的数据

2.不可重复读(虚读):在同一个事务中,两次读取到的数据不一样

3.幻读:一个事务操作数据表中所有记录,另一个事务添加了一条数据,则第一个事务

查询不到自己的修改.

隔离级别

1.读未提交 :脏读、不可重复读、幻读

2.读已提交:不可重复读、幻读

3.可重复度:幻读

4.串行化

数据库查询隔离级别

select @@tx_isolation

数据库隔离级别设置

set global transaction isolation level 级别字符串

dcl: 管理用户,授权

管理用户、授权

1.管理用户:

  语法:create user '用户名'@'主机名' identified by '密码';

2.删除用户:

语法:drop user '用户名'@'主机名';

3.修改用户:

1.切到mysql数据库 USE mysql

  2.查询user表      select * from user;

4.修改密码:

update user set password=password('新密码') where user='用户名';

使用无验证启动mysql服务:mysqld --skip-grant-tables

2.权限管理

1.查询权限:

show grants for '用户名'@'主机名';

show grants for 'lisi'@'%';

2.授予权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

3.撤销权限

revoke 权限列表 on 数据库名.表名 from

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 824评论 0 3
  • 什么是事务(Transaction)? 是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行...
    aluomaidi阅读 11,648评论 9 44
  • MySQL服务启动 命令提示符:net start mysql:启动mysql服务net stop mysql: ...
    那个菜鸡姓朱阅读 197评论 0 0
  • MySQL [TOC] 注释 单行注释: -- 多行注释 :/* */ SQL分类 DDL :Data Defin...
    一昂Jone阅读 249评论 0 0
  • 雾气充满镜框,视线变的模糊。站在终点线后面,看到你拼尽全力向我冲来。,终究是恍惚了一瞬间,以为你是冲向我。 接下来...
    秉烛夜游之阅读 179评论 0 0