数据库基础3

事务

dml:增删改语句。 

比如A给B赚钱,不能A少了100元但B没有加,这是整个过程。

示意图

#事务的重要概念和具体操作
-- 1.创建一张测试表
CREATE TABLE t27(
	id INT,
	`name` VARCHAR(32));

-- 2.开始事务
START TRANSACTION

-- 3.设置保存点
SAVEPOINT a

-- 4.执行dml操作
INSERT INTO t27 VALUES(100,'Tom');

-- 5.回退到a
ROLLBACK TO a

-- 6.提交,此时dml才正式生效
COMMIT

注:1. 如果不开始事务,默认情况下,dml执行后就自动提交了,不能回滚。

       2. 如果开始一个事务没有创建保存点,可以执行rollback默认回退到事务开始的状态

事务隔离级别

 多个连接开启各自事务操作数据库中数据

一些操作

注:repeatable就是一个等级。  这些语句需要在DOS下执行。 注意第五条

这样可以修改默认隔离级别(但是没必要改)。 

mysql事务ACID(了解)

mysql表类型

查看所有的存储引擎:

SHOW ENGINES

修改存储引擎:

ALTER TABLE 't29' ENGINE = INNODB

视图View

注意是基表,不是基本

#视图的使用
-- 创建一个视图 emp_view,只能查询emp表的某些信息
-- (empno,ename,job,deptno)

#创建视图
CREATE VIEW emp_view
	AS
	SELECT empno,ename,job,deptno FROM emp;
	
#查看视图
DESC emp_view

#查看视图名
SHOW CREATE VIEW emp_view
#删除视图
DROP VIEW emp_view

#视图中可以再使用视图
CREATE VIEW emp_view02
	AS
	SELECT empno,ename FROM emp_view

视图练习

#针对 emp, dept和salgrade 三张表,创建一个视图
#可以显示雇员编号,雇员名,雇员部门名称和薪水级别

#三表联合查询
CREATE VIEW emp_view
	AS
	SELECT empno,ename,dname,grade
	FROM emp,dept,salgrade
	WHERE emp.deptno = dept.deptno 
	AND (sal BETWEEN losal AND hisal)

Mysql管理

一些操作

#Mysql用户的管理
# 原因:当我们做项目开发时,可以根据不同的开发人员,付给他相应的Mysql操作权限
# 因此,Mysql数据库管理人员(root),根据需要创建不同的用户,赋给相应的权限,供人员使用

# 创建新的用户
CREATE USER 'shang'@'localhost' IDENTIFIED BY '123456'
-- 1. 'shang'@'localhost'表示用户的完整信息,'shang'是用户名,'localhost'是登录IP
-- 2. 123456是密码,但是存放在mysql.user表时,是password('123456')加密后的密码

# 删除用户
DROP USER 'shang'@'localhost'

# 修改密码(root用户修改其它用户)
SET PASSWORD FOR 'shang'@'localhost' = PASSWORD('123456')
# 但是自己修改自己的密码是永远没问题的

#给 shang 分配 查看news表 和 添加news表 的权限

GRANT SELECT,INSERT
	ON shang_01.news
	TO 'shang'@'localhost'

#回收 shang 在 shang_01.news 的所有权限
REVOKE ALL ON shang_01.news
	FROM 'shang'@'localhost'
	
#删除用户shang
DROP USER 'shang'@'localhost'

DROP USER jack -- 默认就是 DROP USER 'jack'@'%'

CREATE USER 'smith'@'192.168.1.%' --指定一部分ip地址
DROP USER 'smith'@'192.168.1.%' 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值