`

mysql创建触发器、存储过程、函数等实例

阅读更多
############# 本blog可以直接在mysql客户端中执行 #############
# 0. 表准备
drop database abc;
create database abc;
use abc;
create table userinfo(userid int, username varchar(10), userbirthday date);
create table userinfolog(logtime datetime, loginfo varchar(100));

# 1. 触发器
delimiter //
create trigger beforeinsertuserinfo
before insert on userinfo
for each row begin
    insert into userinfolog values(now(), concat(new.userid, new.username));
end;
//
delimiter ;
show triggers;

# 2. 存储过程
drop procedure if exists spinsertuserinfo;
delimiter //
create procedure spinsertuserinfo(puserid int, pusername varchar(10), puserbirthday date)
begin
insert into userinfo values(puserid, pusername, puserbirthday);
end;
//
delimiter ;
show procedure status like 'spinsertuserinfo';
call spinsertuserinfo(1, 'zhangsan', '1972-01-09');
call spinsertuserinfo(2, 'lisi', '1982-07-26');
call spinsertuserinfo(3, 'wanger', current_date);

# 3. 自定义函数
drop function if exists fngetage;
delimiter //
create function fngetage(pbirthday date)
     returns integer
begin
    return year(now()) - year(pbirthday);
end
//
delimiter ;

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


本示例实现如下效果:

0.test数据库有userinfo用户信息表和userinfolog用户信息日志表

1.建立一个userinfo表新增记录时的触发器将新增日志加入到userinfolog

2.建立一个向userinfo表新增记录的存储过程

3.根据userinfo表的出生日期字段我们将建立一个简单算得年龄的自定义函数

4.创建一个userinfo的视图调用年龄函数
分享到:
评论

相关推荐

    MySQL触发器代码

    本文详细介绍了MySQL触发器的概念、作用以及一个具体的触发器实例。通过这个实例,我们不仅学习了如何创建触发器,还了解了如何在触发器中使用变量、条件判断等SQL语句,以及如何处理数据完整性的问题。触发器是...

    MySql零基础入门到精通(资料集)SQL语句+触发器+存储过程+安装卸载+导入导出+性能优化

    学习路线已为你标好,初学者不必走弯路浪费时间,一步到位实践精通 ...第二阶段---MySQL触发器.pdf 第二阶段---如何导入导出MySQL数据库.doc 第二阶段---正确版MySgl绿色版配置及使用详解.doc ..............

    MySQL 触发器的基础操作(六)

     在MySQL数据库中,数据库对象表是存储和操作数据的逻辑结构,而数据库对象触发器则用来实现由一些表事件触发的某个操作。在数据库系统中,当执行表事件时,则会激活触发器,从而执行器包含的操作。触发器的操作...

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

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

    MySQL 5.0 存储过程

    在书中首先介绍了存储过程的基本定义和使用实例,接下来深入探讨了存储过程的各个特性,例如参数的传递、新的SQL语句、作用域、循环控制、错误处理、游标操作、安全性、函数定义及元数据等。本书也提供了编码风格和...

    MySQL数据库基础实例教程(第2版)(微课版)-教学课件.zip

    此外,还会讲解触发器的使用,以及如何编写自定义函数和存储过程。 第九章 数据库管理:本章涉及数据库的安全性、备份与恢复、性能监控和优化。学习者将学习用户权限管理、日志系统、数据备份策略,以及如何通过...

    MySQL数据库基础实例教程(第2版)教学大纲.pdf

    通过这门课程的学习,学生不仅能够掌握MySQL的基本操作,还能进一步理解数据库管理和维护的高级概念,如存储过程、存储函数和触发器等,为成为专业的程序员、系统管理员或系统操作员打下坚实的基础。

    PHP+MySQL 网站开发全程实例附源码.rar

    还将涉及更高级的主题,如索引、视图、存储过程和触发器。 接下来,教程将进入PHP与MySQL的结合应用,包括如何连接数据库、执行SQL查询、处理查询结果等。此外,还会涵盖错误处理和安全性问题,如预编译语句和防止...

    Mysql官方实例库,一些基本sql实例,对初学者很友好

    触发器是在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行的存储过程。 通过深入学习和实践MySQL官方实例库中的基本SQL实例,初学者可以逐步熟悉这些概念,从而更好地理解和运用SQL语言。这些实例将涵盖各种...

    mysql 存储过程中变量的定义与赋值操作

    一、变量的定义 mysql中变量定义用declare来定义...二、mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 代码如下: set var_name= [,var_name expr]

    数据库MYSQL练习实例

    3. 分组与聚合:`GROUP BY`语句用于根据一个或多个列对结果进行分组,`SUM`, `COUNT`, `AVG`, `MIN`, `MAX`等聚合函数可以计算每个组的总和、数量、平均值、最小值和最大值。 4. 子查询:在查询中嵌套查询,如`...

    在Mysql存储过程中使用事务实例

    在实际应用中,类似这样的存储过程可能还会涉及到其他数据库操作,如更新、删除,或者与其他存储过程、视图、触发器等数据库对象交互。了解如何在存储过程中正确地使用事务,对数据库管理员和开发者来说是至关重要的...

    PHP5+MYSQL网站开发实例精讲

    此外,书中还可能包含了一些高级主题,如事务处理、存储过程、触发器和视图等,这些都是提升数据库性能和数据安全性的重要手段。同时,还会涉及PHP5中的错误处理、异常处理机制,以及如何进行性能优化和安全防护,...

    php5+mysql网站开发实例精讲

    此外,我们还将讨论事务处理、存储过程和触发器,这些是提高数据库效率和安全性的重要工具。 在结合PHP5和MySQL进行网站开发时,我们会学习如何使用PHP的MySQLi或PDO扩展与数据库进行交互。这两个扩展提供了预处理...

    PostgreSQL与MySQL比较

    本文将对PostgreSQL和MySQL进行详细的比较,涵盖它们的架构、性能、安全性、存储引擎、索引、约束、存储过程、触发器、XML支持、数据访问和管理服务器等多方面。 架构 PostgreSQL和MySQL都使用客户机-服务器架构,...

    在MySQL中创建实现自增的序列(Sequence)的教程

    然而,MySQL自身并不直接支持Sequence,但可以通过创建表和存储过程来模拟这个功能。本教程将详细解释如何在MySQL中创建自增序列,并通过两个实例展示其用法。 首先,我们需要创建一个名为`sequence`的管理表,用于...

    MySQL基础与实例教程教学进度表.doc

    11. **触发器、存储过程和异常处理**:深入理解数据库的触发器,创建和调用存储过程,以及如何处理运行时的异常。 12. **事务机制与锁**:讲解事务的基本概念,包括ACID特性,以及不同事务隔离级别的设置和影响。 ...

    php+mysql动态网站开发实例 源码

    MySQL的特性包括事务处理、存储过程、触发器、视图等,这些都为开发者提供了强大的数据库管理工具。 "php+mysql动态网站开发实例 源码"这个压缩包很可能包含了一个完整的PHP和MySQL结合的项目案例。开发者可能通过...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...

    mysql教程.pdf

    MySQL 5.0 版本引入了许多新特性,包括存储过程、触发器、视图、信息架构视图等。本教程旨在为需要了解 5.0 版本新特性的 MySQL 老用户提供指导。 存储过程 存储过程是一种存储在数据库中的程序,准确来说,MySQL ...

Global site tag (gtag.js) - Google Analytics