############# 本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触发器的概念、作用以及一个具体的触发器实例。通过这个实例,我们不仅学习了如何创建触发器,还了解了如何在触发器中使用变量、条件判断等SQL语句,以及如何处理数据完整性的问题。触发器是...
学习路线已为你标好,初学者不必走弯路浪费时间,一步到位实践精通 ...第二阶段---MySQL触发器.pdf 第二阶段---如何导入导出MySQL数据库.doc 第二阶段---正确版MySgl绿色版配置及使用详解.doc ..............
在MySQL数据库中,数据库对象表是存储和操作数据的逻辑结构,而数据库对象触发器则用来实现由一些表事件触发的某个操作。在数据库系统中,当执行表事件时,则会激活触发器,从而执行器包含的操作。触发器的操作...
MySQL存储过程与函数 MySQL3 MySQL安全机制 MySQL日志管理 MySQL数据备份 备份概述 mysqldump [逻辑] mydumper [逻辑] into outfile [逻辑] xtrabackup [物理] snapshot [物理] tar打包备份 [物理] ...
在书中首先介绍了存储过程的基本定义和使用实例,接下来深入探讨了存储过程的各个特性,例如参数的传递、新的SQL语句、作用域、循环控制、错误处理、游标操作、安全性、函数定义及元数据等。本书也提供了编码风格和...
此外,还会讲解触发器的使用,以及如何编写自定义函数和存储过程。 第九章 数据库管理:本章涉及数据库的安全性、备份与恢复、性能监控和优化。学习者将学习用户权限管理、日志系统、数据备份策略,以及如何通过...
通过这门课程的学习,学生不仅能够掌握MySQL的基本操作,还能进一步理解数据库管理和维护的高级概念,如存储过程、存储函数和触发器等,为成为专业的程序员、系统管理员或系统操作员打下坚实的基础。
还将涉及更高级的主题,如索引、视图、存储过程和触发器。 接下来,教程将进入PHP与MySQL的结合应用,包括如何连接数据库、执行SQL查询、处理查询结果等。此外,还会涵盖错误处理和安全性问题,如预编译语句和防止...
触发器是在特定事件(如INSERT、UPDATE或DELETE)发生时自动执行的存储过程。 通过深入学习和实践MySQL官方实例库中的基本SQL实例,初学者可以逐步熟悉这些概念,从而更好地理解和运用SQL语言。这些实例将涵盖各种...
一、变量的定义 mysql中变量定义用declare来定义...二、mysql存储过程变量赋值 变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下 代码如下: set var_name= [,var_name expr]
3. 分组与聚合:`GROUP BY`语句用于根据一个或多个列对结果进行分组,`SUM`, `COUNT`, `AVG`, `MIN`, `MAX`等聚合函数可以计算每个组的总和、数量、平均值、最小值和最大值。 4. 子查询:在查询中嵌套查询,如`...
在实际应用中,类似这样的存储过程可能还会涉及到其他数据库操作,如更新、删除,或者与其他存储过程、视图、触发器等数据库对象交互。了解如何在存储过程中正确地使用事务,对数据库管理员和开发者来说是至关重要的...
此外,书中还可能包含了一些高级主题,如事务处理、存储过程、触发器和视图等,这些都是提升数据库性能和数据安全性的重要手段。同时,还会涉及PHP5中的错误处理、异常处理机制,以及如何进行性能优化和安全防护,...
此外,我们还将讨论事务处理、存储过程和触发器,这些是提高数据库效率和安全性的重要工具。 在结合PHP5和MySQL进行网站开发时,我们会学习如何使用PHP的MySQLi或PDO扩展与数据库进行交互。这两个扩展提供了预处理...
本文将对PostgreSQL和MySQL进行详细的比较,涵盖它们的架构、性能、安全性、存储引擎、索引、约束、存储过程、触发器、XML支持、数据访问和管理服务器等多方面。 架构 PostgreSQL和MySQL都使用客户机-服务器架构,...
然而,MySQL自身并不直接支持Sequence,但可以通过创建表和存储过程来模拟这个功能。本教程将详细解释如何在MySQL中创建自增序列,并通过两个实例展示其用法。 首先,我们需要创建一个名为`sequence`的管理表,用于...
11. **触发器、存储过程和异常处理**:深入理解数据库的触发器,创建和调用存储过程,以及如何处理运行时的异常。 12. **事务机制与锁**:讲解事务的基本概念,包括ACID特性,以及不同事务隔离级别的设置和影响。 ...
MySQL的特性包括事务处理、存储过程、触发器、视图等,这些都为开发者提供了强大的数据库管理工具。 "php+mysql动态网站开发实例 源码"这个压缩包很可能包含了一个完整的PHP和MySQL结合的项目案例。开发者可能通过...
实例112 解决用substr()函数对中文字符串截取时出现乱码的问题 143 实例113 字符串与HTML标记相互转换 144 实例114 运用PHP 5.0新型字符串输出XML数据 145 实例115 判断字符串中是否存在指定子串 146 2.9 正则表达式...
MySQL 5.0 版本引入了许多新特性,包括存储过程、触发器、视图、信息架构视图等。本教程旨在为需要了解 5.0 版本新特性的 MySQL 老用户提供指导。 存储过程 存储过程是一种存储在数据库中的程序,准确来说,MySQL ...