MySQL学习笔记(三)

本文详细介绍了数据库事务的四大特性:原子性、持久性、隔离性和一致性,并探讨了不同隔离级别下可能出现的问题。此外,还讲解了DCL(Data Control Language),包括用户管理、权限操作等,如创建用户、修改密码、授权和撤销权限,强调了不同隔离级别与权限管理在数据库安全性和效率之间的平衡。
摘要由CSDN通过智能技术生成

##事务

1.事务是数据库进行操作的一个基本单位

2.四大基本特征:

1.原子性:是不可分割的最小操作单位。

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

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

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

3.事务的隔离级别(了解)

存在问题:

1.丢失修改:A、B两个事物同时对一个数据进行操作,A的修改破坏了B的修改,导致B的修改丢失;
2.不可重复读:A读取了数据后,B对数据进行了修改,导致A无法再现前一次的读取结果;
3.读脏数据:A对数据进行了修改之后,B读入该数据,然后A又因为某一原因撤销了该修改,导致数据恢复原值,此时B读取的数据就成了脏数据。(摘自博主:猴子姑娘呀)
隔离级别:

1.read uncommited:读未提交-----产生的问题:脏读,不可重复读,丢失修改

2.read commited:读已提交-----产生的问题:不可重复读,丢失修改

3.repeatable read:可重复读------产生的问题:丢失修改

4.serializable:串行化----可以解决所有的问题

*注意:隔离级别从小到大安全性越来越高,但是效率越来越低

*数据库查询隔离级别:select @@tx_isolation;

演示:

set global transaction isolation level read uncommited;

start transaction;

--转账操作

update account set balance=balance-500 where id =1;

update account set balance=balance+500 where id=2;

##DCL:

SQL分类:

1.DDL:操作数据库和表

2.DML:增删改表中数据

3.DQL:查询表中数据

4.DCL:管理用户,授权

DBA:数据库管理员

*DCL:管理用户,授权

1.管理用户:

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

2.删除用户:

  **删除用户 语法:drop user '用户名'@‘主机名’;

3.修改用户密码:

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

            update user set password=password('abc') where user='lisi';

4.查询用户:

查询用户语法:

--1.切换到MySQL数据库:user mysql;

--2.查询user表:select *from user;

**通配符:%表示可以在任意主机使用用户登录数据库

权限管理:

1.查询权限:

--查询权限: show grants for '用户名'@'主机名'; 举例:show grants for 'lisi'@'%';

--给张三用户授予所有权限,在任意数据库任意表上

   grant all on *.* to 'zhangsan'@'localhost';

2.授予权限:

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

3.撤销权限:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值