博客
关于我
mysql(创建/修改/删除)自定义函数和存储过程(含实战练习)
阅读量:149 次
发布时间:2019-02-28

本文共 1789 字,大约阅读时间需要 5 分钟。

MySQL自定义函数与存储过程入门

创建学习环境

在开始学习 MySQL 自定义函数和存储过程之前,需要先创建一个功能完善的学习环境。以下是创建学习环境的具体步骤:

1. 创建学习表

create table tb_students_info (    id INT(11) PRIMARY KEY,    name VARCHAR(10),    dept_id INT(11),    age INT(11),    sex VARCHAR(4),    height FLOAT,    login_date DATE);

2. 插入测试数据

insert into tb_students_info values    (1, 'Dany', 1, 25, 'F', 160, '2015-09-10'),    (2, 'Green', 3, 23, 'F', 158, '2016-10-22'),    (3, 'Henry', 2, 23, 'M', 159, '2016-10-23'),    (4, 'Jane', 1, 22, 'F', 156, '2016-10-12'),    (5, 'Jim', 1, 24, 'M', 158, '2016-10-22'),    (6, 'John', 2, 21, 'M', 152, '2016-10-24'),    (7, 'Lily', 6, 22, 'F', 160, '2016-10-25'),    (8, 'Susan', 4, 23, 'F', 166, '2016-10-26'),    (9, 'Green', 3, 22, 'M', 170, '2016-10-27'),    (10, 'Green', 4, 23, 'M', 193, '2016-10-23');

为什么学习自定义函数

自定义函数是一种在数据库中定义的可重用的功能模块,类似于存储过程。它允许开发者将复杂的逻辑编码封装起来,便于复用和管理。

创建与使用自定义函数

1. 创建自定义函数

以下是一个基本的自定义函数模板:

create function StuNameById()returns varchar(45)begin    return (select name from tb_students_info where id = 1);end;

2. 调用自定义函数

select StuNameById();

3. 修改自定义函数

如果需要修改自定义函数,可以使用 ALTER FUNCTION 语句:

alter function StuNameById modify    return varchar(50);

4. 删除自定义函数

drop function if exists StuNameById;

为什么学习存储过程

存储过程是一种将复杂的数据库操作封装起来的技术,它可以显著提高数据库的执行效率和安全性。

存储过程的基础

1. 存储过程的定义

存储过程的基本语法如下:

delimiter // create procedure showStuInfo()begin    select * from tb_students_info;end//

2. 调用存储过程

call showStuInfo();

3. 带参数的存储过程

delimiter // create procedure GetHeightByStu(IN name VARCHAR(30))begin    select height from tb_students_info    where name = name;end//

4. 调用带参数的存储过程

call GetHeightByStu('Susan');

存储过程的优化

1. 修改存储过程

alter procedure GetHeightByStu modify name VARCHAR(40);

2. 删除存储过程

drop procedure if exists GetHeightByStu;

总结

通过本文的学习,你已经掌握了MySQL自定义函数和存储过程的基础知识。这些技术对于提高数据库开发效率和系统性能具有重要意义。

转载地址:http://mmrd.baihongyu.com/

你可能感兴趣的文章
OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
查看>>
OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
查看>>
OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
查看>>
OAuth2.0_授权服务配置_授权码模式_Spring Security OAuth2.0认证授权---springcloud工作笔记144
查看>>
OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
查看>>
OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
查看>>
OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
查看>>
oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
查看>>
OAuth2.0四种模式的详解
查看>>
OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
查看>>
oauth2登录认证之SpringSecurity源码分析
查看>>
OAuth2:项目演示-模拟微信授权登录京东
查看>>
OA系统多少钱?OA办公系统中的价格选型
查看>>
OA系统选型:选择好的工作流引擎
查看>>
OA让企业业务流程管理科学有“据”
查看>>
OA项目之会议通知(查询&是否参会&反馈详情)
查看>>
Vue.js 学习总结(13)—— Vue3 version 计数介绍
查看>>
OA项目之我的会议(会议排座&送审)
查看>>
OA项目之我的会议(查询)
查看>>
OA项目之我的审批(会议查询&会议签字)
查看>>