016 MySQL学习,MySQL 视图、索引、事务

1. 视图 View

场景: 当 sql 查询语句比较复杂,但是要使用的地方地较多时, 可以使用视图

原理: 使用 Sql语句查询出数据,将查询结果当做一张类似于虚拟的表,此表并不在数据库中存在,但数据库中的表变化时此表也会变化

创建视图 : create  view  虚拟表名  as  要查询的语句;

使用:select * from 虚拟表名;(使用时可以当做普通数据表进行 sql 语句查询)

删除视图:drop view 视图名称;

优势:

1. 提高了重用性

2. 对数据库重构, 不影响程序运行

3. 提高安全性

4. 让数据更加清晰

2. 索引 Index

场景: 查询大量数据时比较慢,想要加快查询速度

原理: 在 sql 数据库中创建一个特殊的文件,用来存放要查询信息所在位置(引用 / 指针)。一般是为一个经常要查询的字段创建索引,但是该字段的更新频率必须要低,否则可能降低查询速度,原因是每次插入数据的事都都要去更新索引。索引相当于一个目录,会占用磁盘空间。

创建索引 : create  index  索引名称  on  表名(字段名称(数据长度));

删除索引:drop index 字段名称 on 表名;

例如:

# 创建一个数据表,只有一个字段名为 title
create table book(title varchar(10));
# 给 title 创建索引, 10 是因为title是包含是个字符的 varchar 类型数据,如果是 int 则不需要写
create index book_title_index on book(title(10));

优势:

1. 提高查询效率

3. 事务

场景: 保证数据的 ACID (原子性 、一致性、隔离性、持久性),增删改的时候需要用到。可以让多条 sql 在commit之前不生效,当commit之后全部生效。

原理: 使一条或者多条 sql 语句要么 全部 执行成功要么 全部 执行失败,当 一系列 的 sql 语句在未提交之前,其他人是看不见任何结果的。Mysql 等数据库客户端中默认开启事务,即不需要手动创建事务,执行 sql 语句时自动创建并提交

开启事务第一种方法:

start transaction;
一系列要执行的sql语句;
commit;

开启事务第二种方法:

begin;
一条或者多条sql语句;
commit;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值