一、数据库函数
1、数据函数
数据库内存储的记录,经常要进行.一系列的算数.操作,所以Mysql支持的很多数学函数。常用的数学函数如表所示
返回绝对值
返回0-1的随机数
0-100
取余数
次方
2的8次方
做整数的四舍五入
#保留后两位
算算数平方法
保留小数点后两位,但不会进行四舍五入
返回大于或等于5.2的最小整数
返回小于或等于5.2的最大整数
返回最大值
返回最下值
2、聚合函数.
数据库函数中专门有一组函.数是特意为库内.记录 求和或者对表中的数据进行 集.中概括而设计的,这.些函数被称作聚合函数
求和
返回分数字段的个数
NULL值和空值的区别的 :
NULL值占用空间,空值大小 为0被占用空间,但是count 计算时, NULL不被计数,空值会被计数。
返回分数最小值
返回分数最大值
返回分数平均值
3、字符串函数
返回字符串的长度
返回去除格式的字符串(之去除前面的空格)
将连个字符串拼接起来
还可结合去除格式的函数 trim
将字符串中的所有字母变成大写字母
将字符串中的所有字母变成小写字母
返回字符串x的前几个字符
返回字符串x的后几个字符
把字符串前三个字母和后三个字母拼接起来
将字符串x重复y次
返回x个空格
把字符串x中的字符串y替换成字符串z
比较x和y, 返回的值可以为-1、0、1
比较17和18,小于返回-1,等于返回0,大于返回1,只会返回这三个值,
从字符串x中第y个位置获取长度为z的字符串
将字符串反转
返回前面三个字符再反转输出
4、日期时间函数
字符串函数 | 描述 |
---|---|
curdate() | 返回当.前时间的年月日 |
curtime() | 返回当前时.间的时分秒 |
now() | 返回当前时.间的日.期和时间 |
month(x) | 返回日期.中 的月份值 |
week(x) | 返回日期.x是 年度第几个星期 |
hour(x) | 返回x中的小时值 |
minute(x) | 返回x中.的分钟值 |
second(x) | 返回x中过.的秒种植 |
dayofweek(x) | 返回x是.星期几,1星期日,2星期一 |
replace(x,y,z) | 将字符串z替.换字符串x中的字符串y |
dayofmonth(x) | 计算日期x是本月的第几天 |
dayofyear(x) | 计算日期x是本年的第几天 |
返回年月日
返回当前的时间
返回月份
返回当前完整时间
返回第几周
返回当前的小时
返回分钟
返回秒
返回星期几
返回几号
返回日期是今年第几天
二、存储过程
简介
.一、.存储.过程是一组…为了完成特定 功能的SQL语句集合
.二、.存储过程在.使用过程.中是将 常用或者复杂的.工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库.服务器中。当需要使.用 该存储过程时,只需要调用它即可。存储过程在执行上比.传统SQL速度更快、执行效率更高。
.三、存储过.程的优.点:
.1、执行一次后,会将生 成的二进制代码驻留缓冲区,提高执行效率
.2、.SQL语.句加.上控制 语句的集合,灵活性高
.3、在服务器端存储,客户 端调.用时,降低网络负载
.4、可多次重复被调用,可随.时 修改,不影响客户.端调用.
.5、可完成所有的数据库操作,也可 控制数据库的信息访问权限.
…
创建存储过程
mysql> delimiter $$ #将语句的结束符号从分号; 临时改变成两个 $$(可以自定义)
create procedure proc() #创建存.储.过程,过程名为proc 不带参数
-> begin #过程.体以关键字begin开始
-> select*from school; #过程体.语句
-> end $$ #过.程体以关键字end结束
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; #将语句的结束符号恢复为分号
调用存储过程
call 过程名;
查看存储过程
show create procedure [数据库.]存储过程名;
查看所有存储过程信息
show procedure status;
查看指定存储过程信息
show procedure status like '%proc%'\G #%代表任意字符
存储过程的参数
IN输入.参数:表示调.用者向过程.传入值(传入值可以是字.面量或变量)
OUT.输出参数:表示过程.向调用者.传出值(可以返回多个值)(传出值只能是变量)
INO.UT输入输出参数:既表.示调用者向过程传入值,又.表示过程向调用者传出值(值只能是变量)
删除存储过程
存储过程内容的修.改方法是通过删除 原有.存储过程,之后再以相同的名称创建新.的存储过程。
drop procedure if exists 存储过程名;