一.事务
1.事务是指将一系列操作捆绑为一个整体进行统一管理
2.1什么是事务:
默认条件下,每单条SQL就是一个事务
2.2事务分为:
(1)原子性:事务中的所有元素都必须作为一个整体来提交或回滚,如果事务中任何元素失败,则整个事务失败。
(2)一致性:事务执行完毕后,数据的状态是一致的。
(3)隔离性:两个事务之间互不影响。
(4)永久性:事务执行完毕后,对数据都是永久影响的。
3.事务操作的关键字
1.开启/关闭 自动提交:set autocommit=0/1
2.开始事务:begin/start transaction
3.提交事务:commit
4.回滚事务:rollback
4.事务村塾过程的例子:
delimiter $$ create procedure usp_transfer() begin declare t_error integer default 0; ##语法错误 from 违反了约束 ##continue继续 hanlder 执行 并且对 t_error重载赋值为1 declare continue handler for sqlexception set t_error=1; set autocommit=0; start transction; update bank set balance=balance-100 where cid=1; update bank set balance=balance+100 where cid=2; if t_error>0 then rolllback; else commit; end if; set autocommit=1; end $$ delmiter ; call test_sp800()
二.视图
1.1:就是一张虚拟表,本质上存储的是一对SQL的集合
1.2:创建视图:
create view VW_stulist(VW_视图的功能) as sql语句
注:当多表中有同名列的时候,在视图这个虚拟表中,只能有一列。手工指定该列是哪个表的。
1.3:删除视图:
drop view 视图名
drop table
drop database
drop index
drop constraint
注:drop是删除结构,而delete是删除数据
1.4:视图注意事项:
(1)视图可以查询多表数据
(2)视图可以嵌套
(3)update,insert,delete不能封装成视图内容,通过图形化界面可以操作数据(操作视图数据,影响的是基本表)。
(4)删除视图数据的时候,有一定的限定,数据结果来源于多表的时候,不能删除
三.索引
1.1:是一种有效组合数据的方式,为了快速查找指定记录
1.2:索引分类:
普通索引
唯一索引
主键索引
复合索引
全文索引 场景:一篇文章保存字段 content:1万个字 mysql like
空间索引
1.3建立索引的原则
(1)在列基数比较少的列上,不适合创建索引
(2)在不经常使用的列 上,建立索引没有意义
(3)在频繁搜索的列上,适合建立索引
四.授权
1.1创建用户
create user 用户名 identified by '密码'
1.2:分配权限:
grant 权限名称 update,delete,insert on 数据库.表名 to 用户名