mysql关于视图、子查询、事物
2017-11-28 16:33
435 查看
视图
对于复杂的查询,在多次使用后,维护是一件非常麻烦的事情 解决:定义视图 视图本质就是对查询的一个封装 定义视图 create view v_1 as select A*,B.name from A inner join B on Aid=B.id; 视图的用途就是查询 select * from A;
子查询
查询支持嵌套使用 查询各学生的语文、数学、英语的成绩 select sname, (select sco.score from scores sco inner join subjects sub on sco.subid=sub.id where sub.stitle='语文' and stuid=stu.id) as 语文, (select sco.score from scores sco inner join subjects sub on sco.subid=sub.id where sub.stitle='数学' and stuid=stu.id) as 数学, (select sco.score from scores sco inner join subjects sub on sco.subid=sub.id where sub.stitle='英语' and stuid=stu.id) as 英语 from students stu;
事务
当一个业务逻辑需要多个sql完成时,如果其中某条sql语句出错,则希望整个操作都退回 使用事务可以完成退回的功能,保证业务逻辑的正确性 事务四大特性(简称ACID) 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的 持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障 要求:表的类型必须是innodb或bdb类型,才可以对此表使用事务 查看表的创建语句 show create table '表名'; 修改表的类型 alter table '表名' engine=innodb; 事务语句 开启begin; 提交commit; 回滚rollback;
相关文章推荐
- [MySQL] 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- 关于mysql查询区分大小写
- 关于mysql的查询缓存
- mysql----join查询,事物,触发器
- mysql关于时间查询
- mysql、MS SQL关于分页的sql查询语句 limit 和row_number() OVER函数
- 关于mysql 简单的查询语句 以及常用函数的 总结
- 利用redis缓存mysql查询结果,关于缓存命名
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- [MySQL] 实现树形的遍历(关于多级菜单栏以及多级上下部门的查询问题)
- MySQL查询优化器--逻辑查询优化技术(一)--视图重写
- MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
- 关于 mysql 中 find_in_set 与 like 查询的一些思考
- mysql 查询表,视图,触发器,函数,存储过程
- 关于sql视图--定义视图的查询不能包含order by子句,除非在select 语句的选择列表中还有top子句---问题解决
- mysql5.6.10关于慢查询的设置slow-query-log
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- Mysql 创建查询视图
- 关于hibernate查询视图时,相同主键的两条记录映射问题【已解决】