第一节 视图

视图是从一个或几个基本表(或视图)中导出的虚拟的表。在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。一个视图也可以从另一个视图中产生。

图一

数据库中视图是一个重要的概念,其优势在于:

安全:有的数据是需要保密的,如果直接把表给出来进行操作会造成泄密,那么可以通过创建视图把相应视图的权限给出来即可保证数据的安全。

高效:复杂的连接查询,每次执行时效率比较低,建立视图,每次从视图中获取,将会提高效率。

定制数据:将常用的字段放置在视图中。

图二

创建视图

CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition;

其中,viewname为欲创建的视图名,columnname(s)为查询的列名,table_name为查询的表名,condition为查询条件。

修改视图

# ALTER语句:

ALTER VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition;

# CREATE OR REPLACE语句:

ALTER VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition;

图三

删除视图

DROP view_name;

查询视图

SHOW TABLES;SHOW TABLE STATUS;

这两个命令不仅可以显示表名及表信息,而且会显示出所有视图名称及视图信息。除此之外,使用SHOW CREATE VIEW命令可以查看某个视图的定义,格式如下:

SHOW CREATE VIEW view_name;

关系数据库表是用于存储和组织信息的数据结构,数据结构的不同,直接影响操作数据的效率和功能,对于MySQL来说,它提供了很多种类型的存储引擎,可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。

图四

第二节 事务

MyISAM引擎

MyISAM表是独立于操作系统的,这说明可以轻松地将其从Windows服务器移植到Linux服务器,建立一个MyISAM引擎的tb_Demo表,就会生成以下三个文件:

tbdemo.frm 存储表定义 tbdemo.MYD 存储数据 tb_demo.MYI 存储索引。

MyISAM无法处理事务,特别适合以下几种情况下使用:

1. 选择密集型的表。MyISAM存储引擎在筛选大量数据时非常迅速,这是它最突出的优点。

2. 插入密集型的表。MyISAM的并发插入特性允许同时选择和插入数据。例如:MyISAM存储引擎很适合管理邮件或Web服务器日志数据。

图五

InnoDB引擎

InnoDB是一个健壮的事务型存储引擎,InnoDB还引入了外键约束,在以下场合下,使用InnoDB是最理想的选择:

1. 更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。

2. 事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。

3. 外键约束。MySQL支持外键的存储引擎只有InnoDB。

4. 自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。

事务处理

以银行转账业务为例,张三→李四转账100元,这是一个完整事务,需要两步操作:

1. 张三数据表减去100元

2. 李四数据表增加100元

如果在1步完成后,操作出现错误(断电、操作异常等),使2步没有完成,此时,张三减去了100元,而张三却没有收到100元

为了避免这种情况的发生,就将整个操作定义为一个事务,任何操作步骤出现错误,都会回滚到上一次断点位置,避免出现其他错误。

图六

开始

begin;

update tbl_a set money=money-100 where name='zhangsan';update tbl_b set money=money+100 where name='lisi';

提交

commit;

回滚

rollback;

MySQL-查数据「程序员培养之路第二十五天」

MySQL-基本语法「程序员培养之路第二十四天」

mysql视图高峰事务_MySQL-视图与事务「程序员培养之路第二十六天」相关推荐

  1. mysql 活跃事务_MySQL日志与事务

    整体架构 事务的基本概念 事务就是一组原子性的sql查询,或者是一个独立的工作单元 事务内的语句,要么全部执行成功,要么全部执行失败 ACID标识原子性(atomicity).一致性(consiste ...

  2. mysql开启事务_MySQL入门之事务(上)

    事务 事务介绍 事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功 数据库开启事务命令 start transaction 开启事务 (等同于set autoco ...

  3. mysql视图实现的_mysql视图是什么?怎么实现?

    mysql视图是什么?怎么实现? 发布时间:2020-05-21 18:00:24 来源:亿速云 阅读:152 作者:鸽子 视图本身是一张虚拟表,不存放任何数据.在使用SQL语句访问视图的时候,获取的 ...

  4. mysql中的事务_mysql中的事务,你理解嘛?

    事务又叫做TCL,全称是transaction control language,意思是事务控制语言.这篇文章还是属于我的mysql基础文章,在前面我们介绍了下面这些基础知识: 1.数据库的增查改删操 ...

  5. mysql 视图调用存储过程_MySQL视图、存储过程

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 什么是视图(视图) 虚拟表 内容类似于真实表,有字段和记录 该视图不以数据库中存储的数据的形式存在 行和列的数据来自 ...

  6. mysql 事物隔离界别_MySQL锁与事务隔离级别

    ------------恢复内容开始------------ 一.概述 1.锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.IO等)的 ...

  7. mysql xa 事务_MySQL的XA事务问题分析

    mysql5.7以后的版本支持了xa prepare事务的持久化,这使得基于mysql xa的分布式事务方案变的可行.但mysql目前的XA实现在极端故障场景下是会出现事务丢失或innodb数据与bi ...

  8. MySQL查询与视图实验总结_MySQL 视图 总结

    什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表. 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据. 这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据. 数 ...

  9. mysql视图使用场景_MySQL视图适用场景

    问题描述: MySQL视图适用于哪些场景? 解决方法: 1.视图能简化用户操作.视图机制使用户可以将注意力集中在所关心的数据上.如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简 ...

  10. mysql视图的简介_mysql视图简介

    一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...

最新文章

  1. pythonfor循环遍历list_为什么for循环可以遍历list:Python中迭代器与生成器
  2. Brocade IP 产品配置 与Cicso比较
  3. SAP QM 内向交货单在完成包装之后就自动触发了检验批?
  4. 卷积神经网络的实际意义
  5. js 获取屏幕高宽_JS获取屏幕的宽高。
  6. java异步执行任务
  7. Jquery 获取 radio选中值
  8. TCP流中各种队列:
  9. centos6.5+jexus5.6.3+mono 3.10实践,让asp.net在linux上飞一会儿
  10. 5行代码秀碾压,比Keras还好用的fastai来了,尝鲜PyTorch 1.0必备伴侣
  11. Android数据存储汇总
  12. excel服务器运行失败怎么办,解决勤哲EXCEL服务器启动失败的问题
  13. 物联网安全硬件修改系列-硬改
  14. 恩尼格码机的原理以及破解方法
  15. (求助)idea 编译了spring源码,每次执行debug都要执行很多task,需要时间有点久,请问怎么解决?
  16. 启动管理-启动流程-启动过程(有流程图)
  17. excel如何打开100万行以上的csv文件
  18. PopupWindow
  19. elasticsearch压力测试工具之ESrally使用说明
  20. 以前的的华为手机可不可以用鸿蒙系统_现在买华为手机以后可以换成鸿蒙系统吗?...

热门文章

  1. 机器学习中的混淆矩阵,准确率,精确率,召回率,F1,ROC/AUC,AP/MAP
  2. java severlet 例子_Java开发Servlet实例
  3. 自动驾驶1-1 欢迎来到自动驾驶汽车专业 Welcome to the Self-Driving Cars Specialization
  4. 极客大学架构师训练营 系统架构 大型网站技术架构 维基百科、淘宝、新浪微博案例分析 第8课 听课总结
  5. 极客大学架构师训练营 听课总结 - 架构视图,设计文档 -- 第二课
  6. NLP Prompt范式,两种主要类型:填充文本字符串空白的完形填空(Cloze)prompt,和用于延续字符串前缀的前缀 (Prefix) prompt。
  7. css 背景图 左右空白,缩小窗口时CSS背景图出现右侧空白BUG的解决方法
  8. 区域增长 matlab,图像分割 区域增长
  9. mysql5.7.9 zip achive
  10. top conference in AI