MySQL 函数存储过程触发器定义简单示例

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

1.变量提示
NEW 是新值-- OLD 是旧值 
INSERT 只有NEW ----UPDATE有NEW和OLD ---DELETE只有OLD 

2.准备测试表(userinfo、userinfolog) 
use test; 
create table userinfo(userid int,username varchar(10),userbirthday date); 
create table userinfolog(logtime datetime,loginfo varchar(100)); 
describe userinfo; 

3.建立同时插入两张表的触发器beforeinsertuserinfo
# 定义触发器
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; 

4.建立插入数据存储过程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',current_date); 
select * from userinfo; 

5.自定义函数fngetage

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

6.建立视图viewuserinfo调用函数fngetage
# 建立视图
create view viewuserinfo 
as select * ,fngetage(userbirthday) as userage from userinfo; 
select * from viewuserinfo; 

清除日志记录 
truncate table userinfolog; 
delete from userinfolog; 

 


本文转自 pgmia 51CTO博客,原文链接:http://blog.51cto.com/heyiyi/1251397

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL 关系型数据库 MySQL
MySQL第三战:CRUD,函数1以及union&union all
MySQL第三战:CRUD,函数1以及union&union all
|
3天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
3天前
|
存储 关系型数据库 MySQL
MySQL 格式化日期函数 DATE_FORMAT(), FROM_UNIXTIME() 和 UNIX_TIMESTAMP() 之间区别
MySQL 格式化日期函数 DATE_FORMAT(), FROM_UNIXTIME() 和 UNIX_TIMESTAMP() 之间区别
|
3天前
|
关系型数据库 MySQL 数据库
【MySQL】:高效利用MySQL函数实用指南
【MySQL】:高效利用MySQL函数实用指南
11 0
|
3天前
|
SQL 关系型数据库 数据库
【MySQL】:DDL数据库定义与操作
【MySQL】:DDL数据库定义与操作
14 0
|
3天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在DataWorks中,使用JSON解析函数将MySQL表中的字段解析成多个字段将这些字段写入到ODPS(MaxCompute)中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
29 3
|
3天前
|
关系型数据库 MySQL
MySQL 常用函数
MySQL 常用函数
|
3天前
|
SQL 关系型数据库 MySQL
DQL语言之常见函数(mysql)
DQL语言之常见函数(mysql)
|
3天前
|
关系型数据库 MySQL 数据处理
轻松入门MySQL:数据库之触发器,自动守护你的数据宝库(17)
轻松入门MySQL:数据库之触发器,自动守护你的数据宝库(17)
|
3天前
|
关系型数据库 MySQL
Mysql基础第二十八天,使用触发器
Mysql基础第二十八天,使用触发器
33 0
Mysql基础第二十八天,使用触发器

推荐镜像

更多