iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql(6)-mysql的视图功能和存储过程
  • 488
分享到

mysql(6)-mysql的视图功能和存储过程

2024-04-02 19:04:59 488人浏览 八月长安
摘要

       本篇博客介绍的Mysql的视图功能和存储过程以及它们的作用和实例说明 ! 一 . mysql视图VIEW1.视图简介在Mysql中视图功能就比较类似于Exel中的筛选功能通俗理解就是将一张表中

       本篇博客介绍的Mysql的视图功能和存储过程以及它们的作用和实例说明 !


 一 . mysql视图VIEW


1.视图简介

在Mysql中视图功能就比较类似于Exel中的筛选功能

通俗理解就是将一张表中经常要查询的列和记录创建成一张虚拟的表 , 其实viewer视图中存放的是select语句 . 视图中看到的数据会随着原始表格的更新而动态更新 .

定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少.
视图是存储在数据库中的SQL查询语句,它主要出于原因有: 安全原因,视图可以隐藏一些数据,如:一些敏感的信息使复杂的查询易于理解和使用。

  

2. 创建视图

语法 : CREATE [ALGoRITHM = {UNDEFINED | MERGE | TEMPTABLE} ]  
          VIEW 视图名 [(字段1,字段2…)]
          AS  SELECT语句
          [WITH [CASCADED | LOCAL] CHECK OPTioN ];

示例 : 创建一个名为view_user 的视图 , 功能为查询mysql库中的user表中的user , host , passWord 字段信息

CREATE VIEW view_user AS SELECT user,host,password FROM mysql.user;

mysql(6)-mysql的视图功能和存储过程

      

上述示例为单表视图 , 视图也可以创建多表视图 , 例 :

在test库中创建两张表 ,一张产品表product , 用来存放商品名字和对应的价格 ; 一张采购purshase表 , 用来存放产品信息和数量

product表准备:

mysql(6)-mysql的视图功能和存储过程

purchase表准备:

mysql(6)-mysql的视图功能和存储过程

 创建多表视图 :

mysql> create view purchase_detail 
        as select
        product.name as name, product.price as price, 
        purchase.quantity as quantity, 
        product.price * purchase.quantity as  total_value
        from product,purchase
        where product.name = purchase.name;      #等值连接(即name相同的记录进行组合)

mysql(6)-mysql的视图功能和存储过程


3. 查看视图

  • show  tables                    #视图名可以通过表名查看 , 因为本质它就是一张虚拟的表

  • show  table  status         #查看表的状态

        示例 : 查看书籍库test库中视图及所有表详细信息--->show  table  status  from  test\G

  • show  create  view          #查看视图定义信息

           示例 : show  create  view  视图名\G

  • desc                                  #查看视图结构

           示例 : desc  视图名


4. 修改视图

方法一 : 直接删除视图再新建视图

方法二 : alter修改视图

       语法:

             ALTER VIEW 视图名
             AS  SELECT语句;
       示例:
            ALTER VIEW view_user
            AS  SELECT user,password FROM mysql.user;


5. 删除视图

语法 : DROP VIEW view_name




 二 . MySQL存储过程

     

作用 : 定义数据存储过程 , 存储过程中允许对库 , 表 , 记录做增删改查等操作 , 类似于shell中的函数作用


简介:

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。


语法:

        create  procedure  存储过程名()

        BEGIN

             一定功能的sql语句集

        END


        call  存储过程名();           #调用存储过程

实例 :

要求 :      

创建一个名称为dba的库文件,在dba库中创建一张名称为tb1的表,表中有id、name这两个字段。创建一个名称为ad1的存储过程,ad1存储过程的功能是插入三条记录到tb1表中。

1.步骤 , 创建tb1表

mysql(6)-mysql的视图功能和存储过程 

2.创建ad1存储过程

mysql(6)-mysql的视图功能和存储过程

 3.查看tb1表后调用存储过程 , 在次查看tb1表看看有什么不同

mysql(6)-mysql的视图功能和存储过程


存储过程(procedure)和函数(function)的主要区别:

存储过程是针对表中的数据记录进行处理的SQL语句集合,就类似于shell脚本。
函数通常是针对记录中的某个字段的值进行处理。


     本篇完 !





             

您可能感兴趣的文档:

--结束END--

本文标题: mysql(6)-mysql的视图功能和存储过程

本文链接: https://www.lsjlt.com/news/39965.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么查询当前用户所有的表
    要查询当前用户拥有的所有表,可以使用以下 sql 命令:select * from user_tables; 如何查询当前用户拥有的所有表 要查询当前用户拥有的所有表,可以使...
    99+
    2024-05-14
    oracle
  • oracle怎么备份表中数据
    oracle 表数据备份的方法包括:导出数据 (exp):将表数据导出到外部文件。导入数据 (imp):将导出文件中的数据导入表中。用户管理的备份 (umr):允许用户控制备份和恢复过程...
    99+
    2024-05-14
    oracle
  • oracle怎么做到数据实时备份
    oracle 实时备份通过持续保持数据库和事务日志的副本来实现数据保护,提供快速恢复。实现机制主要包括归档重做日志和 asm 卷管理系统。它最小化数据丢失、加快恢复时间、消除手动备份任务...
    99+
    2024-05-14
    oracle 数据丢失
  • oracle怎么查询所有的表空间
    要查询 oracle 中的所有表空间,可以使用 sql 语句 "select tablespace_name from dba_tablespaces",其中 dba_tabl...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限设置
    答案:要创建 oracle 新用户,请执行以下步骤:以具有 create user 权限的用户身份登录;在 sql*plus 窗口中输入 create user identified ...
    99+
    2024-05-14
    oracle
  • oracle怎么建立新用户
    在 oracle 数据库中创建用户的方法:使用 sql*plus 连接数据库;使用 create user 语法创建新用户;根据用户需要授予权限;注销并重新登录以使更改生效。 如何在 ...
    99+
    2024-05-14
    oracle
  • oracle怎么创建新用户并赋予权限密码
    本教程详细介绍了如何使用 oracle 创建一个新用户并授予其权限:创建新用户并设置密码。授予对特定表的读写权限。授予创建序列的权限。根据需要授予其他权限。 如何使用 Oracle 创...
    99+
    2024-05-14
    oracle
  • oracle怎么查询时间段内的数据记录表
    在 oracle 数据库中查询指定时间段内的数据记录表,可以使用 between 操作符,用于比较日期或时间的范围。语法:select * from table_name wh...
    99+
    2024-05-14
    oracle
  • oracle怎么查看表的分区
    问题:如何查看 oracle 表的分区?步骤:查询数据字典视图 all_tab_partitions,指定表名。结果显示分区名称、上边界值和下边界值。 如何查看 Oracle 表的分区...
    99+
    2024-05-14
    oracle
  • oracle怎么导入dump文件
    要导入 dump 文件,请先停止 oracle 服务,然后使用 impdp 命令。步骤包括:停止 oracle 数据库服务。导航到 oracle 数据泵工具目录。使用 impdp 命令导...
    99+
    2024-05-14
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作