当前位置:网站首页>MySQL数据库讲解(九)
MySQL数据库讲解(九)
2022-04-23 14:07:00 【C和弦~】
目录
引言
Mysql 数据库函数提供了能够实现各种功能的方法,使我们在查询记录时能够更高效的输出。Mysql 内建了很多函数,常用的包括数学函数、聚合函数、字符串函数和日期时间函数
一.函数
1.数学函数
数学函数 描述
abs(x) 返回 x 的绝对值
rand() 返回 0 到 1 的随机数
mod(x,y) 返回 x 除以 y 以后的余数
power(x,y) 返回 x 的 y 次方
round(x) 返回离 x 最近的整数
round(x,y) 保留 x 的 y 位小数四舍五入后的值
sqrt(x) 返回 x 的平方根
truncate(x,y) 返回数字 x 截断为 y 位小数的值
ceil(x) 返回大于或等于 x 的最小整数
floor(x) 返回小于或等于 x 的最大整数
greatest(x1,x2…) 返回集合中最大的值
least(x1,x2…) 返回集合中最小的值
2.聚合函数
聚合函数 描述
avg() 返回指定列的平均值
count() 返回指定列中非 NULL 值的个数
min() 返回指定列的最小值
max() 返回指定列的最大值
sum(x) 返回指定列的所有值之和
3.字符串函数
字符串函数 描述
trim() 返回去除指定格式的值
concat(x,y) 将提供的参数 x 和 y 拼接成一个字符串
substr(x,y) 获取从字符串 x 中的第 y 个位置开始的字符串,跟substring()函数作用相同
substr(x,y,z) 获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串
length(x) 返回字符串 x 的长度
replace(x,y,z) 将字符串 z 替代字符串 x 中的字符串 y
upper(x) 将字符串 x 的所有字母变成小写字母
left(x,y) 返回字符串 x 的前 y 个字符
right(x,y) 返回字符串 x 的后 y 个字符
repeat(x,y) 将字符串 x 重复 y 次
space(x) 返回 x 个空格
strcmp(x,y) 比较 x 和 y,返回的值可以为-1,0,1
reverse(x) 将字符串 x 反转
4.日期字符串函数
日期时间函数 描述
curdate() 返回当前时间的年月日
curtime() 返回当前市价你的时分秒
now() 返回当前时间的日期和时间
month(x) 返回日期x中的月份值
week(x) 返回日期x是年度的第几个周
hour(x) 返回x中的小时值
minute(x) 返回日期x中的分钟值
second(x) 返回日期x中的秒数值
dayotweek(x) 返回x是星期几,1为星期日,2为星期一
replace(x,y,z) 将字符z替代字符串x中的字符串y
dayotmonth(x) 计算日期x是本月的第几天
dayotyear(x) 计算日期x是本年的第几天
二.存储过程
1.简介
- MysQL数据库存储过程是一组为了完成特定功能的SQL语句的集合。
- 存储过程这个功能是从5.0版本才开始支持的,它可以加快数据库的处理速度,增强数据库在实际应用中的灵活性。
- 存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时,只需要调用它即可。
- 操作数据库的传统SQL语句在执行时需要先编译,然后再去执行,跟存储过程一对比,明显存储过程在执行上速度更快,效率更高。存储过程在数据库中创建并保存,它不仅仅是SQL语句的集合,还可以加入一些特殊的控制结构,也可以控制数据的访问方式。
2.优点
- 执行一次后,会将生成的二进制代码驻留缓冲区,提高执行效率
- SQL语句加上控制语句的集合,灵活性高
- 在服务器端存储,客户端调用时,降低网络负载
- 可多次重复被调用,可随时修改,不影响客户端调用
- 可完成所有的数据库操作,也可控制数据库的信息访问权限
3.语法
create procedure <过程名> ([过程参数……]) <过程体>
[过程参数……] 格式
<过程名>:尽量避免与内置的函数或字段重名
<过程体>:语句
[in|out|inout] <参数名><类型>
例:
delimiter && #将语句的结束符号从分号;临时修改,以防出问题,可以自定义
create procedure ee(in inname varchar(16)) #创建存储过程,过程名自定义,()可带参数
begin #过程体以关键字BEGIN开始
select * from test1 where a_name='aaaa'; #过程体语句
end&& #过程体以关键字END结尾
delimiter ; #将语句的结束符号恢复为分号(分号前面要有空格)
call ee('aaaa'); #调用存储过程
--------------查看存储过程--------------
show create procedure XXX\G #查看某个储存过程的具体信息
4.参数分类
- 存储过程的主体部分,即过程体
- 以 begin 开始,end 结束,若只有一条SQL语句,可省略 begin 和 end
- 以 delimiter 开始和结束
5.带参数的存储过程
- 输入参数:in 表示调用者向过程传入值(传入值可以是字面量或变量)
- 输出参数:out 表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)
- 输入/输出参数:inout ,即表示调用者向过程传入值,又表示过程向调用者传入值(只能是变量)
6.修改存储过程
alter procedure <过程名> [<特征>……]
alter procedure ff modifies sql data sql security invoker;
modifies sql data:表名子程序包含写程序的语句
security:安全等级
invoker:当定义为 invoker 时,只要执行者有执行权,就可以成功执行
7.删除存储过程
drop procedure if exists 过程名;
总结
函数分类:
- 数学函数
- 聚合函数
- 字符串函数
- 日期时间函数
存储过程;
MysQL数据库存储过程是一组为了完成特定功能的SQL语句的集合。
版权声明
本文为[C和弦~]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Ab960311/article/details/121081344
边栏推荐
- 微信小程序setInterval定时函数使用详细教程
- 百度图片识别自定义实现(替代AipOcr)
- VMware15Pro在Deepin系统里面挂载真机电脑硬盘
- poi操作word模板替换数据并且导出word
- JSP学习2
- 室内外地图切换(室内基于ibeacons三点定位)
- visio安装报错 1:1935 2:{XXXXXXXX...
- 封装logging模块
- On the multi-level certificate based on OpenSSL, the issuance and management of multi-level Ca, and two-way authentication
- 帆软实现一个单选按钮,可以统一设置其他单选按钮的选择状态
猜你喜欢
Three point positioning based on ibeacons (wechat applet)
RobotFramework 之 文件上传和下载
Detailed tutorial on the use of smoke sensor (mq-2) (based on raspberry pie 3B +)
OpenStack如何跨版本升级
RobotFramework 之 用例执行
Use of WiFi module based on wechat applet
MYSQL 主从同步避坑版教程
Check in system based on ibeacons
Prediction of tomorrow's trading limit of Low Frequency Quantization
HyperBDR云容灾V3.2.1版本发布|支持更多云平台,新增监控告警功能
随机推荐
sql中出现一个变态问题
百度图片识别自定义实现(替代AipOcr)
Mock测试
Wechat applet communicates with low-power Bluetooth - sending data to hardware (III)
帆软报表设置单元格填报以及根据值的大小进行排名方法
Recyclerview advanced use (II) - simple implementation of vertical drag and drop sorting
基于ibeacons三点定位(微信小程序)
Three point positioning based on ibeacons (wechat applet)
基于微信小程序的wifi模块使用
帆软分割求解:一段字符串,只取其中某个字符(所需要的字段)
Wechat applet communicates with esp8266 based on UDP protocol
查询2013年到2021年的数据,只查询到2020的数据,遇到了这个问题所进行的解决办法
云容灾是什么意思?云容灾和传统容灾的区别?
Indoor and outdoor map switching (indoor three-point positioning based on ibeacons)
帆软中需要设置合计值为0时,一整行都不显示的解决办法
VMware 15pro mounts the hard disk of the real computer in the deepin system
mysql 5.1升级到5.610
Check in system based on ibeacons
基于CM管理的CDH6.3.2集群集成Atlas2.1.0
Wechat applet communicates with low-power Bluetooth - receives data sent by hardware (IV)