博客
关于我
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/

你可能感兴趣的文章
mysql:SQL按时间查询方法总结
查看>>
MySQL:什么样的字段适合加索引?什么样的字段不适合加索引
查看>>
MySQL:判断逗号分隔的字符串中是否包含某个字符串
查看>>
MySQL:某个ip连接mysql失败次数过多,导致ip锁定
查看>>
MySQL:索引失效场景总结
查看>>
Mysql:避免重复的插入数据方法汇总
查看>>
MyS中的IF
查看>>
M_Map工具箱简介及地理图形绘制
查看>>
m_Orchestrate learning system---二十二、html代码如何变的容易
查看>>
M×N 形状 numpy.ndarray 的滑动窗口
查看>>
m个苹果放入n个盘子问题
查看>>
n = 3 , while n , continue
查看>>
n 叉树后序遍历转换为链表问题的深入探讨
查看>>
N!
查看>>
N-Gram的基本原理
查看>>
n1 c语言程序,全国青少年软件编程等级考试C语言经典程序题10道七
查看>>
Nacos Client常用配置
查看>>
nacos config
查看>>
Nacos Config--服务配置
查看>>
Nacos Derby 远程命令执行漏洞(QVD-2024-26473)
查看>>