`
isiqi
  • 浏览: 16560177 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

MySQL 的触发器、存储过程、函数、视图实验

阅读更多

本实验完成如下结果:

0. test数据库,userinfo 用户信息表 和 userinfolog 用户信息日志表
1. 建立一个userinfo表新增记录时的触发器,将新增日志加入到userinfolog
2. 建立一个向userinfo表新增记录的存储过程
3. 根据userinfo表的出生日期字段,我们将建立一个简单算得年龄的自定义函数
4. 创建一个userinfo的视图,调用年龄函数

0.准备相关表
mysql> use test;
mysql> create table userinfo(userid int,username varchar(10),userbirthday date);
mysql> create table userinfolog(logtime datetime,loginfo varchar(100));
mysql> describe userinfo;

1.触发器
mysql> delimiter |
mysql> create trigger beforeinsertuserinfo
-> before insert on userinfo
-> for each row begin
-> insert into userinfolog values(now(),CONCAT(new.userid,new.username));
-> end;
-> |
mysql> delimiter ;
mysql> show triggers;

2.存储过程
mysql> delimiter //
mysql> create procedure spinsertuserinfo(puserid int,pusername varchar(10),puserbirthday date)
-> begin
-> insert into userinfo values(puserid,pusername,puserbirthday);
-> end;
-> //
mysql> show procedure status like 'spinsertuserinfo';
mysql> call spinsertuserinfo(1,'zhangsan',current_date);
这时userinfo里应该能看到插入的数据。
而且触发器beforeinsertuserinfo应该被触发执行,即 userinfolog 里应该有了数据。
mysql> select * from userinfo;
mysql> select * from userinfolog;

3.自定义函数
mysql> update userinfo
-> set userbirthday='2000.01.01'
-> where userid='1';
mysql> drop function if exists fngetage;
mysql> delimiter //
mysql> create function fngetage(pbirthday date)
-> returns integer
-> begin
-> return year(now()) - year(pbirthday);
-> end
-> //

4.视图
mysql> create view viewuserinfo
-> as select * ,fngetage(userbirthday) as userage from userinfo;
mysql> select * from viewuserinfo;

作者:张庆(网眼) 2009-3-7
来自“网眼视界”:http://blog.why100000.com
“十万个为什么”电脑学习网:http://www.why100000.com

分享到:
评论

相关推荐

    MySQL触发器、存储过程、自定义函数、视图示例

    ### MySQL触发器、存储过程、自定义函数、视图示例 #### 一、MySQL触发器 触发器是一种特殊类型的存储过程,它被设计为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行。触发器可以用来强制业务规则、...

    MYSQL触发器与存储过程.ppt

    1. 存储过程和函数的修改可能影响依赖于它们的其他对象,如视图、触发器等。 2. 触发器可能导致数据更新的隐式行为,需要谨慎设计以避免逻辑复杂性和潜在的问题。 总之,MySQL的存储过程和触发器是强大的工具,用于...

    Mysql(外键、触发器、函数、视图) PHP 仓库管理系统

    这个系统利用了MySQL的一些高级特性,包括外键、触发器、函数和视图,以实现高效、安全的数据操作。下面将详细解释这些概念及其在仓库管理系统中的应用。 1. **外键(Foreign Key)**: 外键是数据库表之间关联的...

    MySql视图触发器存储过程详解

    MySQL中的视图、触发器和存储过程是数据库管理中常用的功能,它们可以帮助开发者更高效、安全地进行数据操作。下面将分别对这三个概念进行详细解释。 **视图(View)** 视图是一种虚拟表,它是由SQL查询结果形成的...

    mysql触发器实现oracle物化视图示例代码

    下面实验创建ON COMMIT 的FAST刷新模式,在mysql中用触发器实现insert , update , delete 刷新操作 1、基础表创建,Orders 表为基表,Order_mv为物化视图表 代码如下: mysql> create table Orders( -> order_id int...

    mysql基础-视图、存储函数、存储过程、触发器.pdf

    本文详细介绍了MySQL中的四个高级功能:视图、存储函数、存储过程和触发器。这些功能不仅能够增强数据库的性能,还能提高数据的安全性和一致性。通过合理地使用这些工具,可以有效地管理和优化数据库的应用程序。...

    MySQL 数据库结构管理小工具,MySQL 表、视图、触发器、函数、过程结构同步管理MySQL DDL

    MySQL 数据库结构管理小工具,MySQL 表、视图、触发器、函数、过程结构同步管理,支持MySQL5.x ~ MySQL8,可保存创建对象的选择,导出SQL,当表、过程超过100着实令人头大,特意读取了表等的创建时间,可根据时间...

    mysql中文手册+mysql命令大全+mysql存储过程

    CHM文件是一种Windows帮助文件,包含了大量的MySQL知识,如数据库概念、安装配置、SQL语法、索引、视图、触发器、存储过程和函数等。这个手册可以帮助用户快速查找并理解MySQL的各种功能和操作,尤其对于初学者来说...

    mysql高级部分--包含索引建立优化_函数_存储过程_触发器_及游标

    综上所述,MySQL中的索引、视图、触发器、游标、事务和存储过程都是高级特性,这些工具可以帮助开发人员更好地管理和操作数据库。通过对这些概念的理解和实践,可以大幅提升数据库应用的性能和可靠性。

    非常详细的某培训机构mysql学习笔记

    MySQL存储过程与函数 MySQL3 MySQL安全机制 MySQL日志管理 MySQL数据备份 备份概述 mysqldump [逻辑] mydumper [逻辑] into outfile [逻辑] xtrabackup [物理] snapshot [物理] tar打包备份 [物理] ...

    《数据库原理及应用_MySQL》实验任务及指导书.docx

    知识点7: 存储过程与函数的创建管理实验 *掌握存储过程和函数的概念和作用 *掌握使用 CREATE PROCEDURE 语句创建存储过程 *掌握使用 CREATE FUNCTION 语句创建函数 *掌握存储过程和函数的维护和优化方法 知识点8: ...

    linux下mysql的操作与存储过程

    4. 存储函数(Stored Functions):与存储过程类似,但不返回多条结果,而是单个值。 5. 权限管理:使用`GRANT`和`REVOKE`命令管理用户权限。 在Linux环境下,熟练掌握MySQL的操作和存储过程对于数据库管理至关...

    2021年MySQL高级教程视频.rar

    28.MySQL高级存储过程函数.avi 29.MySQL高级触发器介绍.avi 30.MySQL高级触发器创建及应用.avi └31.MySQL高级触发器查看及删除.mp4 ├第三天视频 01.MySQL高级今日内容.mp4 02.MySQL高级应用优化.avi 03.MySQL高级...

    MySQL 5.0 存储过程

    MySQL 5.0新增特性中,存储过程是一个重要的部分,本书主要面向对MySQL有一定了解,但希望了解...通过本书的学习,读者能够有效地利用MySQL 5.0提供的存储过程、触发器、视图等新特性,提高数据库操作的效率和安全性。

    mywebsql-3.2.zip_php mysql 触发器

    MyWebSQL是一个基于Web的MySQL数据库...除了操作表格数据外,MyWebSQL还可以对包括视图,存储过程,触发器和函数在内的对象进行控制。支持数据和查询结果的导入\导出。MyWebSQL还内置一个带语法着色功能的SQL编辑器。

    事务、触发器、函数、视图、存储过程

    ​ 所谓事务,就是把多个事情按照一个事情来处理,在mysql中是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的单位。例如,你去银行取钱,输密码、填单子、工作人员操作电脑、验钞机验钞、...

    数据库系列(:MySQL 视图、触发器的原理与实战

    ### 数据库系列:MySQL 视图、触发器的原理与实战 #### 视图原理与实战 ##### 一、视图的基本概念 视图(View)是基于一个或多个表的虚拟表,它本身并不存储数据,而是由一系列定义好的SQL查询构成。视图可以被...

    mysql数据库武洪萍版第五章习题与答案.docx

    本资源摘要信息主要是基于 MySQL 数据库武洪萍版第五章习题与答案,涵盖了数据库索引、视图、触发器、存储过程和函数等多个方面的知识点。 1. 数据库索引:索引是数据库中用于提高查询速度的一种数据结构。它可以...

    基于mysql事务、视图、存储过程、触发器的应用分析

    MySQL数据库在进行复杂数据操作时,常常会用到事务、视图、存储过程和触发器。这些特性使得数据库管理更加高效且安全。下面将详细解释这些概念及其应用。 首先,我们来看MySQL中的事务(Transaction)。事务是...

    Mysql导出存储过程.docx

    在MySQL中,`mysqldump`是一个非常重要的实用工具,它用于备份数据库或导出数据库的部分内容,如表、视图和存储过程。根据提供的描述和标签,我们主要关注如何使用`mysqldump`来导出存储过程。 首先,要导出数据库...

Global site tag (gtag.js) - Google Analytics