MySQL学习(三)SQLYOG之db3

CREATE TABLE account( 
	id INT PRIMARY KEY AUTO_INCREMENT, 
	NAME VARCHAR(10), 
	balance DOUBLE
); 
INSERT INTO account(NAME,balance) VALUES ('zhangsan',1000),('lisi',1000); 
SELECT * FROM account;
UPDATE account SET balance=1000;
-- 0. 开启事务
START TRANSACTION;
-- 张三给李四转账500元
-- 1.张三账户-500
UPDATE account SET balance=balance-500 WHERE NAME='zhangsan';
-- 2.李四账户+500
-- 出错了
UPDATE account SET balance=balance+500 WHERE NAME='lisi';
-- 发现没有问题,提交事务
COMMIT;
-- 发现出现问题,回滚事务
ROLLBACK;
/*
事务:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败
mysql数据库中事务默认自动提交
事务提交方式:
	自动提交:mysql
	手动提交:先开启事务,在提交事务.oracle数据库
事务的四大特征:
	原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败
	持久性:当事务提交或回滚后,数据库会发生持久化的保存数据
	隔离性:多个事务之间相互独立
	一致性:事务操作前后事务总量不变
事务的隔离级别(了解):多个事务之间隔离的,相互独立的。如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别可以解决
	存在问题:
		脏读:一个事务,读取到另一个事务中没有提交的数据
		不可重复读:在同一个事务中,两次读到的数据不一样
		幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改
	隔离级别:
		read uncommitted:读未提交
			产生问题:脏读,不可重复读,幻读
		read committed:读已提交
			产生问题:不可重复读,幻读
		repeatable read:可重复读(mysql默认)
			产生问题:幻读
		serializable:串行化
			可以解决所有问题
		从小到大安全性越来越高,效率越来越低
	数据库查询隔离级别
		select @@tx_isolation;
	数据库设置隔离级别
		set global transaction isolation level 级别字符串	
*/

/*
DCL:管理用户
*/
select * from user;
-- 创建用户
create user '用户名'@'主机名' identified by '密码';
CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY '123';
CREATE USER 'lisi'@'%' IDENTIFIED BY '123';
-- 删除用户
drop user '用户名'@'主机名';
DROP USER 'zhangsan'@'localhost';
-- 修改密码
update user set Password = Password('新密码') where user = '用户名';
UPDATE USER SET PASSWORD = PASSWORD('abc') WHERE USER = 'lisi';
set Password for '用户名'@'主机名' = Password('新密码');
SET PASSWORD FOR 'zhangsan'@'localhost' = PASSWORD('123456');
/*
mysql 忘记密码
	管理员运行cmd-->net stop mysql
	使用无验证方式启动mysql服务
		mysqld --skip-grant-tables
	打开新的cmd窗口,直接输入mysql命令,就可以登录成功
	use mysql;
	UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';
	关闭两个窗口
	打开任务管理器,手动结束mysqld.exe进程
	启动mysql服务
	使用新密码登录
权限管理:
	查询权限
	授予权限
*/
-- 查询权限
show grants for '用户名'@'主机名';
SHOW GRANTS FOR 'lisi'@'%';
-- 授予权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值