MySQL-视图,事物,索引

视图

应用场景:对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦-----解决办法:创建视图

简单讲视图就是一张虚表,一个查询结果集,但视图不存储具体的数据(基本表数据发生了改变,视图也会跟着改变)
创建视图:create view 视图名称 as select语句;
使用视图:视图的用途就是查询,select * from 视图名;
删除视图:drop view 视图名称;

事物

什么叫事物?一句话概括:要么不做,要做就一定完成。相当远一个0-1问题,最经典的场景就是银行转账,要么不转,转就一定成功。

事物的四大特性:
事务四大特性(简称ACID)

原子性(Atomicity):一个事物就是一个最小单元,不可被分割
一致性(Consistency):一旦事物发生,所有相关的数据库以及表的状态保持一致,哪怕中间出现严重错误
隔离性(Isolation):就是事物在commit之前所做的任何操作对其他数据是不可见的
持久性(Durability):事物一旦提交,所做的修改将永源保存到数据库当中
一个完整的事物流程:

begin transaction t1_student
update sc
set CNo='001'
where SNo='00015' and CNo='003'
update sc
set CNo='006'
where SNo='00015' and CNo='004'
if @@ERROR!=0
   rollback transaction
   else
commit transaction t_student

创建一个事务,把学号为00015的的选修课程号003改为001、选修课程号004改为
006,第一个操作失败,事务回滚,成功则设定为保存点,第二个操作失败,则事务
回滚,查看事务执行结果。
在数据库的优化中,我们可以利用事物或者block将sql语句模块化,执行起来容错性更高,效率更强。后续再介绍

索引

索引的作用:加快查询速度
索引的原理:B树。白话文:select id from students where name = ‘xm’,普通查询,会一条一条比对name是否等于xm,如果在name那一列加上索引,就不需要一条一条的比对了,相当于将name那一列单独抽出来然后按照B树来排序,在B树种进行查找,找到之后会将结果与name做一个映射,直接返回name所在的id
索引的使用:

#查看索引
show index from 表名;
#创建索引
create index 索引名称 on 表名(字段名称(长度))#如果指定的字段不是字符串类型不需要指定长度
#删除索引
drop index 索引名称 on 表名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值