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

你可能感兴趣的文章
python办公自动化基础搜索文件
查看>>
python知识:@classmethod和@staticmethod的异同
查看>>
python前端之css
查看>>
Python制作进度条,原来有这么多方法
查看>>
Python制作简单的学生成绩管理系统
查看>>
python制作甘特图的基本知识(附Demo)
查看>>
python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
查看>>
Python到底能做什么?它的优点在哪?
查看>>
python利用pytorch库导出图像分割算子
查看>>
python利用pyshark监听网卡来抓包其中pyshark中摸索的一些可用参数
查看>>
python利用excel分析过杀漏失
查看>>
python判断汉字数目
查看>>
python判断文件是空的,如果是空的,就删除
查看>>
python判断密码是否正确_python密码判断是否符合要求的方法
查看>>
python判断字符串包含中文_Python 判断字符串是否包含中文
查看>>
python删除第一行_Python 乱码指北:一行删掉根目录
查看>>
Python删除列表元素的三种方法
查看>>
python初步学习-python数据类型-集合(set)
查看>>
python列表生成字典_Python中将字典转换为列表的方法
查看>>
python列表对应元素合并为列表及判断一个列表是几维
查看>>