mysql自定义函数的创建
1:创建函数的语句
create function py_trim(str varchar(100)) returns varchar(100)
begin
declare x varchar(100);
set x=ltrim(rtrim(str));
return x;
end
2:查看:
- 所有函数存储在mysql数据库下的proc表中
- 说明:存储过程与函数都存储在proc表中,区别在type字段,func表中无数据
- 查看python数据库中的函数
select name,type from mysql.proc where db='python';
3:调用:
select 函数名称(参数列表);
4:删除
drop function 函数名称;
5:变量
(1)声明变量,语法如下
declare 变量名 类型 default 默认值;
例:
declare x varchar(100);
(2)设置变量值,语法如下
set 变量名=值;
例:
set x='abc';
(3)使用变量:将变量写到表达式中,即可调用变量的值
6:判断语句
if 条件1 then
语句1;
elseif 条件2 then
语句2;
else
语句
end if;
7:循环
while 条件 do
语句;
end while# 退出循环:leave,相当于break
# 退出本次循环:iterate,相当于continue
8:示例:
(1):要求:定义函数odd,输出1-100间的偶数
create function odd () returns varchar(300)
begin
declare i int default 1;
declare x varchar(300) default '';
while i<=100 do
if i%2=0 then
set x=concat(x,' ',i);
end if;
set i=i+1;
end while;
return x;
end
用法:输出1-100间的偶数:
select odd();
(2):要求:定义函数tdd,接受一个整数参数如果该数是偶数,返回该数,否则返回0;
create function tdd (x int) returns varchar(300)
begin
if x%2=0 then
return x;
else
return 0;
end if;
end
用法:输出id是偶数的行:
select * from student where id=tdd(id);
9:字符串的方法
(1)concat(str1,str2,…):参数连成一个长字符串并返回(任何参数是null时返回null)
mysql> select concat(‘my’, ‘s’, ‘ql’);-> ‘mysql’
mysql> select concat(‘my’, null, ‘ql’);-> null
(2)length:返回字符串str的长度(对于多字节字符char_length仅计算一次)
mysql> select length(‘text’);-> 4
(3)locate(substr,str,pos):返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0)
mysql> select locate(‘bar’, ‘foobarbar’,5);-> 7
(4)instr(str,substr):返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)
mysql> select instr(‘foobarbar’, ‘bar’);-> 4
(5)lpad(str,len,padstr):用字符串padstr填补str左端直到字串长度为len并返回
mysql> select lpad(‘hi’,4,’??’);-> ‘??hi’
(6)rpad(str,len,padstr):用字符串padstr填补str右端直到字串长度为len并返回
mysql> select rpad(‘hi’,5,’?’);-> ‘hi???’
(7)left(str,len):用字符串padstr填补str右端直到字串长度为len并返回
mysql> select rpad(‘hi’,5,’?’);-> ‘hi???’
(8)right(str,len):返回字符串str的右端len个字符
mysql> select right(‘foobarbar’, 4);-> ‘rbar’
(9) substring(str,pos,len):返回字符串str的位置pos起len个字符
mysql> select substring(‘quadratically’,5,6);-> ‘ratica’
(10)substring(str,pos)/substring(str from pos):返回字符串str的位置pos起的一个子串
mysql> select substring(‘quadratically’,5);-> ‘ratically’
mysql> select substring(‘foobarbar’ from 4);-> ‘barbar’
(11)substring_index(str,delim,count):返回从字符串str的第count个出现的分隔符delim之后的子串(count为正数时返回左端,否则返回右端子串)
mysql> select substring_index(‘www.mysql.com’, ‘.’, 2);-> ‘www.mysql’
mysql> select substring_index(‘www.mysql.com’, ‘.’, -2);-> ‘mysql.com’
(12)replace(str,from_str,to_str):用字符串to_str替换字符串str中的子串from_str并返回
mysql> select replace(‘www.mysql.com’, ‘w’, ‘ww’);-> ‘wwwwww.mysql.com’
(13) lcase(str)/lower(str):返回小写的字符串str
mysql> select lcase(‘quadratically’);-> ‘quadratically’
(14)ucase(str)/upper(str):返回大写的字符串str
mysql> select ucase(‘quadratically’);-> ‘quadratically’
(15)load_file(file_name):读入文件并且作为一个字符串返回文件内容(文件无法找到,路径
不完整,没有权限,长度大于max_allowed_packet会返回null)
mysql> update table_name set blob_column=load_file
("/tmp/picture") where id=1;
10:解决的bug
(1)报错 :drop table if exists T Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar.
错误原因:未选定默认的数据库
解决方法:双击SCHEMAS列表中的某个数据库便可。
mysql自定义函数的创建相关推荐
- MYSQL自定义函数 的创建 create、查看函数、修改/更新函数删除函数 以及具体实例
创建函数 1)使用语法创建 // msyql中的函数一定有返回值 // 创建函数的语法,注意:参数和返回值一定要写长度,避免使用到关键字 create function 函数名([形参列表]) ret ...
- MySQL自定义函数创建与使用总结
MySQL自定义函数创建与使用总结 MySQL自定义函数和存储过程类似,也需要在数据库中创建并保存.它与存储过程一样,都是由SQL语句和控制语句组成的代码片段,可以被应用程序和其他SQL语句调用. M ...
- MySQL自定义函数(CREATE FUNCTION)
在使用 MySQL 的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数. 自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和 ...
- 数据库系列之mysql 自定义函数function,函数和存储过程的区别
mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...
- 16、mysql中函数的创建和使用
sql语言可以进行编程,说到编程,那一定少不了使用函数对代码进行最小级别的封装,接下来介绍一下mysql中函数的写法以及应用 mysql中的函数可分为两类:系统函数.用户自定义函数. 简单的介绍几个常 ...
- mysql 自定义函数function,函数和存储过程的区别
From: https://blog.csdn.net/u010365819/article/details/80470448 1.MySQL自定义函数简介 在MySQL中使用自定义函数也需要相应的要 ...
- MySQL自定义函数的使用
MySQL字定义函数是对sql代码集的封装,我将分享有参数与没有参数的自定义函数的使用 studentinfo表数据: 自定义函数的创建.调用.删除 语法 无参数的自定义函数 # 无参数自定义函数 D ...
- mysql 自定义函数教程_MySQL自定义函数
MySQL自定义函数 函数与存储过程类似,也是一组预先编译好的SQL语句的集合,但是存储过程可以有0个或多个返回,函数就只能有一个返回 创建函数 #语法 参数列表包含两部分 参数名和参数类型 #函数体 ...
- MySQL自定义函数(四十六)
MySQL自定义函数 一.什么是MYSQL自定义函数? mysql当中的自定义函数,我们简称为UDF,它实际上是一种对MySQL扩展的途径,其用法与内置函数相同. 二.自定义函数应该具备哪些条件? 我 ...
- MySQL自定义函数的使用及MySQL中的流程控制语句
MySQL自定义函数 文章目录 MySQL自定义函数 创建自定义函数 自定义函数的调用 自定义函数的删除 自定义函数的维护 流程控制语句 条件控制语句 循环语句 创建自定义函数 创建自定义函数时, 开 ...
最新文章
- mongodb php代码实例,MongoDB文档的更新(php代码实例)
- 数据库oracle文件怎么打开,Oracle某个数据文件损坏,如何打开数据库-数据库专栏,ORACLE...
- 电信/移动/联通同台秀肌肉 集体表态:云计算市场“不能丢”!
- easyui label显示不全_easyui 元素遍历问题
- 华为机型深色模式下问题
- Eclipse的环境配置
- 把echarts导出成pdf
- 阿里云Linux安装软件镜像源
- windows内核开发笔记十一:IRQL级别调用说明
- unicode 特殊字符表 特殊符号
- 个人博客(八)Hexo新建文章、主题小修改
- 小白学习图像处理——分水岭算法
- mac移动鼠标光标会变大_如何在Mac上使鼠标光标变大或变小
- Android精品软件汇总(不断更新)
- 有道笔记无法同步(笔录)
- python名片管理器实验报告_名片管理系统——实验报告.doc
- 开源的业务中台 全渠道一盘货 订单管理系统 OMS
- Nginx+SpringBoot实现负载均衡demo
- 自然语言处理面试34题:NLP面试考点,精准详尽解析 | 小彩蛋
- 什么叫电位器?什么叫电阻器?