`

Mysql中的存储函数

 
阅读更多

Mysql中的存储函数

1.定义变量

set 变量名 = 变量值

注意:为区分系统变量还是用户自定义变量,用户自定义变量前面加@符号

可以通过select 获取当前变量

 

2.select into语法注入变量值

select a,b,c into @a,@b,@c语法

如果select返回多行语法,mysql会报错或者最后一行赋值

在sql总赋值,可以使用@who :=xxx赋值

 

3.内置函数

format,Now,from_unixtime(),unix_timestamp(),charLength()和编码有关,length()

concat,substring

 

以下定义几种常见类型的自定义函数

1.无参数自定义函数

delimiter $$
create function sayHello() returns varchar(25)
begin
return 'Hello ShanShanBox.com';
end
$$
delimiter ;

 

注意:

函数与数据库绑定,可以使用数据库名点方法名访问

函数必须有返回值,returns一定要加S

 

2.带有if逻辑判断

delimiter $$
create function func1() returns varchar(5)
begin
if hour(now()) > 17 then
	return '晚';
else
	return '早';
end if;
end
$$
delimiter ;

 

3.带有while循环函数

delimiter $$
create function func2() returns int
begin
set @i = 1;
set @sum = 0;
while @i <= 10 do
	set @sum = @sum + @i;
	set @i = @i + 1;
end while;
return @sum;
end
$$
delimiter ;

 

4.循环控制

leave 相当于break终止循环

iterate 相当于continue,跳过当前循环进行下一次循环

在while循环中,不会根据leave和iterate的位置控制循环,而是由循环的标签决定的

那么什么事循环的标签的,其实我也说不清,直接看代码吧

delimiter $$
create function func3() returns int
begin
set @i = 1;
set @sum = 0;
w:while @i <= 10 do
	if @i = 5 then
	leave w;
	end if;
	set @sum = @sum + @i;
	set @i = @i + 1;
end while;
return @sum;
end
$$
delimiter ;

 看到没,w:就是while循环的标签,多么好看的表情啊

 

5.带参数的自定义函数

delimiter $$
create function func4(username varchar(20)) returns varchar(25)
begin
	return concat('hello ',username);
end
$$
delimiter ;

 

以上就是几个简单的自定义函数

学好不容易,且行且珍惜

分享到:
评论

相关推荐

    mysql存储过程和存储函数

    mysql存储过程,存储函数练习,里面有详细代码,供大家参考

    MySQL数据库:存储函数调用.pptx

    数据库编程 存储函数的调用、举例 课程目标 掌握 ——存储函数的调用方法; 掌握—— 存储函数的使用方法; 存储函数的查看、调用 ...【例】 创建一个存储函数来删除Sell表中有但Book表中不存在的记录。 DELIMITER

    mysql存储过程和存储函数的示例

    mysql 存储过程 ,存储函数的调用示例

    mysql存储函数以及函数过程

    mysql+零基础+mysql存储函数以及函数过程知识点

    MySQL数据库:存储函数的创建.pptx

    MySQL数据库:存储函数的创建.pptx

    MySQL实验报告5(存储过程与函数)(1)(1).pdf

    定义完存储过程后,使用“delimiter”关键字更改语句结束符,以便能够正确地定义存储过程或函数中的多条语句。 2. 创建函数 函数与存储过程类似,也是一种子程序。不同之处在于函数必须返回一个值。报告中并没有...

    第11章MySQL存储过程与函数.docx

    创建存储函数的示例: CREATE FUNCTION numstu() RETURNS INTEGER BEGIN RETURN (SELECT COUNT(*) FROM student); END; 调用该存储函数: SELECT numstu(); 存储过程的优点: 1. 存储过程增强了 SQL 语言的...

    mysql存储过程之返回多个值的方法示例

    mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的结构: mysql&gt; desc orders; +----------------+-------------+------+-----+--------...

    MySQL存储过程的异常处理方法

    本实例展示了如何在MySQL存储过程中实现异常处理,以捕获并处理可能出现的错误。 首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个...

    Mysql存储过程和函数

    - **递归调用**:存储过程和函数中可以递归地调用其他的过程或函数。 #### 六、存储过程与函数的维护 1. **删除存储过程/函数**: ```sql DROP {PROCEDURE | FUNCTION} [IF EXISTS] sp_name ``` 2. **查看...

    mysql存储例程、存储过程、存储函数进阶学习

    MySQL存储例程,包括存储过程和存储函数,是数据库管理中的重要组成部分,它们极大地提高了数据库应用的效率和灵活性。在进阶学习中,我们需要深入理解这些概念及其在实际开发中的应用。 1. **存储过程**:存储过程...

    Mysql 存储过程(输入,返回),函数,临时表

    Mysql 存储过程,函数,临时表 存储过程包括输入返回,可供项目中遇到难题的人解决一下,我曾为此费了好大精力,最后总结出来共大家分享

    MySQL高级(函数与存储程序)——Scrat

    ### MySQL 高级:函数与存储程序 ...通过对上述内容的学习,我们可以了解到MySQL中的函数和存储过程是如何被创建和使用的。这些高级特性为数据库开发提供了强大的支持,使得开发者能够更高效地管理和处理数据。

    MySQL数据库函数,触发器,存储过程

    在数据库管理中,函数、触发器和存储过程是三个重要的概念,它们极大地增强了数据处理的灵活性和效率。 **一、MySQL数据库函数** 函数是预定义的代码块,接受一个或多个参数,并返回一个值。MySQL提供了丰富的内置...

    精通MySQL存储过程和函数

    本手册适用于对MySQL存储过程和函数感兴趣的开发者和技术人员,特别是那些希望深入了解并掌握如何在实际项目中高效利用这些功能的专业人士。手册中的所有示例和操作均基于CentOS 6.2 64位系统和MySQL 5.6版本进行。 ...

    MYSQL数据库校验身份证函数

    3. **闰年的精确判断**:虽然函数中已包含了闰年的判断逻辑,但在某些极端情况下仍需注意特殊情况的处理。 4. **性能考量**:当处理大量数据时,正则表达式的效率可能会成为瓶颈。 #### 六、总结 `CHECKIDCARD`...

    MySQL系列—-创建存储函数、游标的使用

    在MySQL中,创建一个存储函数需要定义函数名、参数列表以及返回类型。下面是一个创建名为`smin`的存储函数的例子,该函数接收三个整数参数`i`, `j`, `k`,并返回它们中的最小值: ```sql DELIMITER $$ CREATE ...

    mysql中文手册+mysql命令大全+mysql存储过程

    最后,"mysql存储过程.pdf"专注于MySQL的存储过程。存储过程是预编译的SQL语句集合,可以提高数据库操作的性能,减少网络流量,并增强数据安全。在PDF文档中,你将学习如何定义、调用和管理存储过程,以及如何使用...

    mysql过程,函数debug工具

    mysql过程,函数debug工具

Global site tag (gtag.js) - Google Analytics