关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

MySQL中的视图、索引以及事务的简单使用

发布时间:2023-06-28 00:00:28
一、视图 代表一个查询的SQL,内封装着一条查询SQL,基于视图操作就相当于基于被封装的SQL操作 1、视图的创建使用与销毁 1.创建视图 语法: create view 视图名 as 查询SQL 例: create view query_emp_dep as -- 写一个表连接:查询员工和其部门的所有信息 select e.*,d.department_name,d.location_id -- 多表在视图中不可存在重复列名 from employees e LEFT JOIN departments d on e.department_id=d.department_id 2.视图的使用 语法: select 列名 from 视图名 例: select * from query_emp_dep -- 对结果做筛选 select * from query_emp_dep where employee_id in(100,101,102,103) 3.视图的销毁 语法: drop view [if exists]视图名 例: drop view query_emp_dep 2、视图的面试常考特点 视图不是表,并不会做数据存储 视图本身无法提高查询的执行效率,只是能提高开发效率 视图也可以在想屏蔽表中机密列时使用 二、索引 是数据库为了提高查询效率所提供的一种机制 1、索引的创建使用与销毁 0.创建索引 语法: create index 索引名 on 表名(字段名) 1.查看索引 语法: show index from 表名 2.销毁索引 语法: show index from 表名 3.索引的使用 -- 查询t_person的索引 show index from t_person -- 给t_person添加一个age的索引 create index i_p_age on t_person(age) -- 销毁i_p_age索引 drop index i_p_age on t_person tips: 无须手动显式使用索引,当使用索引列作为检索条件时,会自动采用索引 2、索引的面试常考特点 作用为提高查询效率 缺点为会占用空间 使用: 索引并不是越多越好,只需给经常作为检索条件的列添加索引即可 原因:会占用空间,也会影响数据增删改的效率 主键和唯一列会自动添加索引 在检索null值和进行模糊查询时会失效 三、事务 是一种保证SQL执行完整性的机制,可以确保事务中的SQL要么同时成功,要么同时失败 1、事务的开启与结束 1.开启事务 语法: begin | start transation 2.结束事务 语法: 提交:commit -- 真正更改数据库数据 回滚:rollback -- 是数据回到事务开启前的状态 3.示例 -- 账户表:id、姓名、余额 create table t_account( a_id int PRIMARY KEY auto_increment,-- 主键+自增 a_name varchar(20) not null, balance decimal(20,2) not null ) select * from t_account begin -- 开启事务 -- 1. 小黑子的账户-520 update t_account set balance=balance-520 where a_name = '小黑子' -- 2. ikun的账户+520 update t_account set balance=balance+520 where a_name = 'ikun' -- 结果:小黑子-80 ikun-920 commit -- 提交事务,使事务结束 rollback -- 回滚事务,使事务结束 -- 整体逻辑 if(所有语句执行成功){ commit }else{ rollback } 2、事务的面试常考特点 记住四个字母:ACID A:原子性 多条SQL要么同时成功,要么同时失败,不可缺失或更改 C:一致性 事务执行前后,数据状态是一致的 I:隔离性 每个事务都是单独的个体,不会相互影响 D:持久性 事务一旦提交,对数据库中的数据更改将是永久的,不可回滚 写在最后 MySQL基础内容已经完结,以后就更新此专栏的JDBC知识了,感兴趣的伙伴可以订阅专栏喔,期待你的关注与支持

/template/Home/leiyu/PC/Static