--加密32位字符
select md5('123456')

--获取字符串的长度(一个中文三个长度)
select LENGTH('呵呵')

--获取字符串字符个数
select CHAR_LENGTH('呵呵')

--删除前导空格
SELECT CHAR_LENGTH(ltrim(' mysql'))

--删除前导空格
SELECT LTRIM(' mysql')

--删除后续空格
select rtrim('mysql ')

--同时删除前后端空格
SELECT TRIM(' mysql ')

--删除后导某些字符
SELECT TRIM(TRAILING'@@'from '@@mysql@@')

--删除前导某些字符
SELECT TRIM(LEADING'@@'from '@@mysql@@')

--字符串截取(从1开始)
SELECT SUBSTRING('mysql database' ,3,3)

--字符串替换('单引号别忘了')
SELECT REPLACE('mysql database','a', 'A')

--字符串反转
SELECT REVERSE('mysql')

--返回n个前导空格构成的字符串
SELECT LENGTH(SPACE(4))

--字符串拼接
SELECT CONCAT('msql',SPACE(2),'database')

--使用制定的字符连接字符串
SELECT CONCAT_WS(' ','mysql','database')

--数字格式化
SELECT FORMAT(31415.926,2)

--字母转大写
SELECT UPPER('java')

--字母转小写
SELECT LOWER('JAVA')

--获取左边字符
SELECT LEFT('java',2)

--获取右侧字符
SELECT RIGHT('java',2)

--比较字符串(相等为0,前者大与后者为1,后者大与前者为-1)
SELECT STRCMP('A','B')

--取绝对值
SELECT ABS(-3);

--进一取整
SELECT CEIL(3.14)

--舍一取整
SELECT FLOOR(3.14)

--求商
SELECT 5 DIV 2

--求模
SELECT MOD(5,2)

--幂运算
SELECT POW(5,5)

--四舍五入
SELECT ROUND(3.14)

--取圆周率
SELECT PI()

--截断数字
SELECT TRUNCATE(PI(),2)

--返回0~1之间的随机数
SELECT RAND()

--获取当前时间
SELECT NOW()

--获取当前日期
SELECT CURRENT_DATE()

--获取当前时间
SELECT CURRENT_TIME()

--返回日期date加上间隔时间int的结果
SELECT DATE_ADD(NOW(),INTERVAL 2 DAY)

--返回日期date减去间隔时间int的结果
SELECT DATE_SUB(NOW(),INTERVAL 2 DAY)

--求日期之差('单引号别忘了')
SELECT DATEDIFF('2019-07-31','2019-07-29')

--日期格式化
SELECT DATE_FORMAT(NOW(),'%Y%m%d %H%i%s')

-- 查看当前库所有自定义函数
SELECT * FROM MYSQL.PROC WHERE 1 = 1 AND DB = 'test' AND TYPE = 'FUNCTION';

-- 查看当前库某个自定义函数的定义
SHOW CREATE FUNCTION GET_STUDENT_NAME;

-- 删除某自定义函数
DROP FUNCTION GET_STUDENT_NAME;

-- 创建自定义函数
DELIMITER ;;
CREATE FUNCTION GET_STUDENT_NAME(vsno CHAR(6))
RETURNS VARCHAR(20)
BEGIN
DECLARE rname VARCHAR(20) DEFAULT '';
SELECT SNAME INTO rname FROM T_STUDENT WHERE SNO = vsno;
RETURN rname;
END
;;
DELIMITER ;

-- 使用自定义函数
SELECT GET_STUDENT_NAME('S20165');

-- 查看当前库有所有自定义过程
SELECT * FROM MYSQL.PROC WHERE 1 = 1 AND DB = 'test' AND TYPE = 'PROCEDURE';

-- 查看当前库某个自定义过程的定义
SHOW CREATE PROCEDURE PROC_GET_STUDENT_NAME;

-- 删除存储过程
DROP PROCEDURE PROC_GET_STUDENT_NAME;

-- 创建存储过程
DELIMITER ;;
CREATE PROCEDURE PROC_GET_STUDENT_NAME(IN vsno CHAR(6), OUT rname VARCHAR(20))
BEGIN
SELECT SNAME INTO rname FROM T_STUDENT WHERE SNO = vsno;
END
;;
DELIMITER ;

-- 调用存储过程
call PROC_GET_STUDENT_NAME('S20165', @rname) ;
SELECT @rname;

--数据库关联
SELECT * FROM a a
INNER JOIN b b
ON a.id=b.id
WHERE a.id=1

--在数据库创建账号密码表
CREATE TABLE sys_user (
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
PASSCODE CHAR(32) NOT NULL,
status TINYINT UNSIGNED NOT NULL DEFAULT '1'
);

                 

函数名

描述

LENGTH(str)

获取字符串长度

CHAR_LENGTH(str)

获取字符串的字符个数

LTRIM(str)

删除前导空格

RTRIM(str)

删除后续空格

TRIM([{both | leading | trailing} [remstr] from] str)

删除前导和后续空格

SUBSTRING(str, pos[, len])

字符串截取

REPLACE(str, from_str, to_str)

字符串替换

REVERSE(str)

字符串反转顺序

SPACE(n)

返回由n个空格构成的字符穿

                  

                 

函数名

描述

CONCAT(column | str)

字符连接

CONCAT_WS(separator, str1, st2, …)

使用指定的分隔符进行字符连接

FORMAT(X, D[, locale])

数字格式化

LOWER(column | str)

转化成小写字母

UPPER(column | str)

转化为大写字符

LEFT(str, len)

获取左侧字符

RIGHT(str, len)

获取右侧字符

STRCMP(str1, str2)

两个字符串相同返回0,前者大于后者返回1,前者小于后者返回-1

                 

函数名

描述

ABS(x)

取绝对值

CEIL(x)

进一取整

DIV

整数除法

FLOOR(x)

舍一取整

MOD(x, y)

取余数(模)

POWER(x, y)

幂运算

ROUND(x, y)

四舍五入

TRUNCATE(x, y)

截断数字

PI()

取圆周率π的值

RAND()

返回0到1之间的伪随机数

                    

名称

描述

[NOT] BETWEEN…AND…

[不]在范围内

[NOT] IN()

[不]在列出的范围内

IS [NOT] NULL

[不]为空

                   

函数名

描述

NOW()

当前日期和时间

CURDATE()或CURRENT_DATE()

当前日期

CURTIME()或CURRENT_TIME()

当期时间

DATE_ADD(date, INTERVAL int keyword)

返回日期date加上间隔时间int的结果

DATE_SUB(date, INTERVAL int keyword)

返回日期date加上间隔时间int的结果

DATEDIFF(date1, date2)

日期差值

DATE_FORMAT(date, fmt)

日期格式化

      

                 

函数名

描述

CONNECTION_ID()

连接ID

DATEBASE()

当前数据库

LAST_INSERT_ID()

最后插入记录的ID号

USER()

当前用户

VERSION()

版本信息

                    

函数名

描述

AVG()

平均值

COUNT()

计数

MAX()

最大值

MIN()

最小值

SUM()

求和

                    

函数名

描述

MD5()

数据摘要算法

PASSWORD()

密码算法

语法

MySQL函数和过程(三)的更多相关文章

  1. mysql 函数 存取过程

    1.打开数据库 2.选择函数,点击新建函数,选择过程,点击完成 4.写入自己要添加的sql语句 5.点击CTAL + S 保存,如若报错则语法或函数错误

  2. Mysql 函数使用记录(三)——UNIX_TIMESTAMP() 、UNIX_TIMESTAMP(date)

    参考资料:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_unix-timestamp UN ...

  3. MySql创建函数与过程,触发器, shell脚本与sql的相互调用。

    一:函数 1:创建数据库和表deptartment, mysql> use DBSC; Database changed mysql), ), )); Query OK, rows affect ...

  4. 三十四、MySQL 函数

    MySQL 函数 MySQL 有很多内置的函数,以下列出了这些函数的说明. MySQL 字符串函数 函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码. 返回 Cust ...

  5. mysql自定义函数与过程中写法的注意事项

    BEGIN #Routine body goes here... /* update szzx_goods_common set gc_id=i where gc_name=(SELECT gc_na ...

  6. MySQL系列教程(三)

    mySQL集群(cluster) 这一章,我根本不打算写,因为mySQL 的 官方Cluster方案基本上都是bullshit,尤其是它的官方集群方案,竟然都无人维护了,而且mySQL集群完全可以用眼 ...

  7. Mysql - 函数

    Mysql提供的函数是在是太多了, 很多我都见过, 别说用了. 园子里面, 有人弄了一个比较全的. MYSQL函数 我这里会将他写的完全拷贝下来, 中间会插入一些自己项目中使用过的心得 一.数学函数 ...

  8. 我的MYSQL学习心得(三) 查看字段长度

    我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

  9. MySQL 函数大全

    mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NU ...

随机推荐

  1. xgzc— math 专题训练(一)

    Lucas定理 当\(p\)是质数时,有\((^n_m)\equiv(^{n/p}_{m/p}) * (^{n\%p}_{m\%p}) \pmod{p}\) 狄利克雷卷积 定义:\((f*g)(n)= ...

  2. 自己实现dup2

    转自 http://blog.csdn.net/todd911/article/details/11747097 #include <stdio.h> #include <unist ...

  3. centos 利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放. 下面是命令实现: iptables -P INPUT DROPiptables -P FORWARD DROPiptabl ...

  4. Python学习日记(二)——字符转编码操作

    首先搞清楚:Python3的默认编码是unicode,Python2的默认编码是ASCII码 为什么需要编解码? 打个比方:假如说我做了一个游戏,叫<西游记>,游戏传到了日本去.但是日本人 ...

  5. 【Linux】安装 node.js

    1.在 linux 上安装 node.js 有几种方式,这里 教的是最简单的一种,因为其他都比较坑. 2.先去 node.js 官网 获取到已经编译好的安装包的地址, 3.使用 wget 去下载上面获 ...

  6. ARP Poisoning Attack and Mitigation Techniques ARP欺骗 中间人攻击 Man-In-The-Middle (MITM) attack 嗅探 防范 Can one MAC address have two different IP addresses within the network?

    小结: 1. ARP缓存投毒,窃听中毒者之间的通信: 2. ARP Poisoning Attack and Mitigation Techniques - Ciscohttps://www.cisc ...

  7. eclipse远程连接hadoop单机模式出现的问题

    按照http://tydldd.iteye.com/blog/2007938配置单机模式 主要是 (1)配置hadoop-env.sh,指定jdk的安装路径 添加jdk路径 # The java im ...

  8. pymysql检查是否断开, 断开重连

    python mysql使用持久链接 python链接mysql中没有长链接的概念,但我们可以利用mysql的ping机制,来实现长链接功能~ 思路: 1 python mysql 的cping 函数 ...

  9. JAVA NIO学习笔记二 频道和缓冲区

    Java NIO 频道 Java NIO渠道类似于流,他们之间具有一些区别的: 您可以读取和写入频道.流通常是单向(读或写). 通道可以异步读取和写入数据. 通道常常是读取或写入缓冲区. 如上所述,您 ...

  10. matlab学习——01线性规划

    01线性规划 format compact; % min fx % Ax<=b % Aeq*x=beq % lb<=x<=ub % % max z=2x1+3x2-5x3 % x1+ ...