视图:

1.什么是视图        

  视图就是通过查询得到一张虚拟表,然后保存下来,下次用的时候直接使用即可

2.为什么用视图

  如果要频繁使用一张虚拟表,可以不用重复查询

3.如何用视图

  select * from 表1 inner join 表2 on 表1.id  = 表2.表1_id ;

注意:1.在硬盘中,视图只有表结构文件,没有表数据文件

     2.视图通常是用于插叙,尽量不要修改视图中的数据

触发器:

1.什么是触发器

  在满足对某张表数据的增、删、改的情况下(没有查),自动触发的功能称之为触发器

2.为何要用触发器?

  触发器专门针对我们对某张表数据的增、删、改的行为,这类行为一旦执行就会启动触发器

,即自动运行另外一段sql代码

3.创建触发器语法
    create trigger 触发器的名字 after(也可以用before代表在之前触发) insert(可以换成delete,update)     on 表名 for each row(结尾这三个是固定语法)                              释义:在这个表名插入一条记录              之后触发一条触发器的行为

begin

      当上门的create 触发器 触发时,自动执行 这段sql代码。。

    end

触发器这样命名会好一点: 触发器名_after_insert_哪张表名

事务:

1.什么是事务

  开启一个事务可以包含一些sql语句,这些sql语句要么同时成功,要么都不能成功,称之为事务的          原子性

2.事务的作用

  可以监测一系列操作的安全性、准确性,可以对事务控制范围内的数据进行回滚等操作

3.怎么使用事务

  start transaction  #开启事务

  开始执行sql 语句。

  可以执行rollback 回滚到修改数据之前的状态

  在没有执行commit之前这些修改的任何操作数据都不会刷新到硬盘

存储过程:

1.定义:存储过程包含了一系列可执行的sql语句,存储过程存放于mysql中,通过调用他的名字可以执                行其内部的一堆sql

2.三种开发模型:

  1、应用程序:只需要开发应用程序的逻辑

     mysql:编写好存储过程,用来给应用程序调用

     优点:开发效率,执行效率都高

     缺点:考虑到人为因素、跨部门沟通等问题,会导致扩展性差  

  2、应用程序:除了开发应用程序的逻辑,还需要编写原生sql

     mysql:

    优点:比方式1 拓展性高(非技术层面)

    缺点:开发效率、执行效率都不如方式1,编写原生sql太过于复杂,需要考虑sql语句的优化

  3.应用程序:开发应用程序的逻辑,不需要编写原生的sql,基于别人编写好的框架来处理数据,

   mysql:

   优点:不用再编写纯生sql,这意味着开发效率要比方式2高 ,同时拓展性也高

   缺点:执行效率连方式2 都不如

3.创建存储过程:

  create procedure 存储过程名(可传参)

  begin

     sql语句 

  end

  call  存储过程名(可传参)   # call 是调用

2

Python11/26--mysql之视图/触发器/事务/存储过程的更多相关文章

  1. MySQL拓展 视图,触发器,事务,存储过程,内置函数,流程控制,索引,慢查询优化,数据库三大设计范式

    视图: 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view tea ...

  2. MySQL 视图触发器事务存储过程函数

    事务  致命三问 什么是事务:开启了一个包含多条SQL语句的事务,这些SQL语句要么都执行成功,要么有别想成功:例如A向B转账,二人账户并不属于一家银行,在转账过程中由于网络问题,导致A显示转账 成功 ...

  3. mysql 查询表,视图,触发器,函数,存储过程

    1. mysql查询所有表: SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名' AND  TAB ...

  4. MySQL 视图 触发器 事务 存储过程 函数 流程控制 索引与慢查询优化

    视图 1.什么是视图? 视图就是通过查询得到的一张虚拟表,然后保存下来,下次可直接使用 2.为什么要使用视图? 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图? create view ...

  5. MySQL——视图/触发器/事务/存储过程/函数/流程控制

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  6. MySQL视图,触发器,事务,存储过程,函数

    create triggr triafterinsertcmdlog after insert on cmd_log FOR EACH ROW trigger_body .#NEW : 代表新的记录 ...

  7. MySQL_视图/触发器/事务/存储过程/函数

    视图.触发器.事务.存储过程.函数 视图 视图是一个虚拟表(非真实存在),其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集,可以将该结果集当作表来使用 #创建视 ...

  8. python mysql 视图 触发器 事物 存储过程 用户授权 数据备份还原

    ###################总结########### 视图是一个虚拟表(非真实存在) 是跑在内存中的表,真实表是在硬盘上的表 使用视图我们可以把查询过程中的临时表摘出来,保存下来,用视图去 ...

  9. Mysql学习---视图/触发器/存储过程/函数/执行计划/sql优化 180101

    视图 视图: 视图是一个虚拟表(非真实存在),动态获取数据,仅仅能做查询操作 本质:[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用.由 ...

随机推荐

  1. 关于想通过ros的dstnat实现公网IP nat 公网IP的情况

    转发群里大神的“苏州-海豚在跳舞”的图 理论上客户机收到2.2.2.2过来的包应该直接丢弃.因为它并没有给2.2.2.2发过包.这里不知道如果在2.2.2.2上做 src-nat伪装成1.1.1.1回 ...

  2. 刘志梅2017710101152.《面向对象程序设计(java)》第一周学习总结

    本人学号<面向对象程序设计(java)>第一周学习总结 第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com http://ww ...

  3. 谷歌浏览器内核Cef js代码整理(二) 滚动条

    1.隐藏滚动条 document.documentElement.style.overflow = 'hidden';隐藏竖向滚动条:document.documentElement.style.ov ...

  4. 第一课了解SQL

    1.1 数据库基础 其实一直在使用这数据库,当你在邮箱中查询名字时,当在网站上进行搜索,在自动取款机上使用ATM卡,这些操作都是在使用数据库 1.1.1 数据库   数据库:保存有组织的数据的容器(通 ...

  5. python基础之数字、字符串、列表、元组、字典

    Python基础二: 1.运算符: 判断某个东西是否在某个东西里面包含: in  为真 not in  为假 (1).算术运算符: 运算符 描述 实例 + 加  表示两个对象相加 a + b输出结果3 ...

  6. android 开发 View _6_Canvas详解

    牛逼大神的博客地址:http://www.gcssloop.com/customview/Canvas_BasicGraphics 安卓自定义View进阶-Canvas之绘制图形 在上一篇自定义Vie ...

  7. Ubuntu 14.04 tomcat配置

    在tomcat-users.xml中添加了以下代码即可 <role rolename="tomcat"/> <role rolename="role1& ...

  8. WPF程序 双击exe自动申请“以管理员方式运行”权限

    实现方式: 在 xxx.exe 目录下包含其对应的清单文件(xxx.exe.manifest, 由 VS 编译时自动生成): 用记事本打开 manifest 文件,将文件中的项:<request ...

  9. java书籍

    1.«java高并发编程详解 »一本比较详细介绍多线程的书籍,个人感觉比 并发编程思想 这本书详细

  10. 2018-2019-2 20175213实验三《敏捷开发与XP实践》实验报告

    一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:吕正宏 学号:20175213 指导教师:娄嘉鹏 实验日期:2019年4月29日 实验时间:13:45 - 21:00 实验序号:实验 ...