详解mysql数据库函数
Vivian 2018-06-12 来源 : 阅读 3172 评论 0

摘要:本文主要向大家介绍了mysql数据库函数,MySQL数据库提供了很多函数包括:数学函数;字符串函数;日期和时间函数;条件判断函数;系统信息函数;加密函数;格式化函数;希望对大家学习mysql有所帮助。

  本文主要向大家介绍了mysql数据库函数,MySQL数据库提供了很多函数包括:数学函数;字符串函数;日期和时间函数;条件判断函数;系统信息函数;加密函数;格式化函数;希望对大家学习mysql有所帮助。

一、数学函数

  数学函数主要用于处理数字,包括整型、浮点数等。

详解mysql数据库函数

详解mysql数据库函数

二、字符串函数

  字符串函数是MySQL中最常用的一类函数,字符串函数主要用于处理表中的字符串。

详解mysql数据库函数

详解mysql数据库函数

详解mysql数据库函数

三、日期时间函数

  MySQL的日期和时间函数主要用于处理日期时间。

详解mysql数据库函数详解mysql数据库函数详解mysql数据库函数详解mysql数据库函数详解mysql数据库函数详解mysql数据库函数

四、条件判断函数

  1、IF(expr,v1,v2)函数

  如果表达式expr成立,返回结果v1;否则,返回结果v2。

?

1

2

   

SELECT IF(1 > 0,'正确','错误')   

->正确

   

  2、IFNULL(v1,v2)函数

  如果v1的值不为NULL,则返回v1,否则返回v2。

?

1

2

   

SELECT IFNULL(null,'Hello Word')

->Hello Word

   

  3、CASE

  语法1:

?

1

2

3

4

5

6

7

8

   

CASE

  WHEN e1

  THEN v1

  WHEN e2

  THEN e2

  ...

  ELSE vn

END

   

  CASE表示函数开始,END表示函数结束。如果e1成立,则返回v1,如果e2成立,则返回v2,当全部不成立则返回vn,而当有一个成立之后,后面的就不执行了。

SELECT CASE

  WHEN 1 > 0

  THEN '1 > 0'

  WHEN 2 > 0

  THEN '2 > 0'

  ELSE '3 > 0'

  END

->1 > 0

   

  语法2:

CASE expr

  WHEN e1 THEN v1

  WHEN e1 THEN v1

  ...

  ELSE vn

END

   

  如果表达式expr的值等于e1,返回v1;如果等于e2,则返回e2。否则返回vn。

SELECT CASE 1

  WHEN 1 THEN '我是1'

  WHEN 2 THEN '我是2'

ELSE '你是谁'


五、系统信息函数

  系统信息函数用来查询MySQL数据库的系统信息。

详解mysql数据库函数

六、加密函数

  加密函数是MySQL用来对数据进行加密的函数。

  1、PASSWORD(str)

  该函数可以对字符串str进行加密,一般情况下,PASSWORD(str)用于给用户的密码加密。

 

SELECT PASSWORD('123')

    ->*23AE809DDACAF96AF0FD78ED04B6A265E05AA257

   

  2、MD5

  MD5(str)函数可以对字符串str进行散列,可以用于一些普通的不需要解密的数据加密。


SELECT md5('123')

    ->202cb962ac59075b964b07152d234b70

   

  3、ENCODE(str,pswd_str)与DECODE(crypt_str,pswd_str)

  ENCODE函数可以使用加密密码pswd_str来加密字符串str,加密结果是二进制数,需要使用BLOB类型的字段保存。该函数与DECODE是一对,需要同样的密码才能够解密。


SELECT ENCODE('123','xxoo')

    ->;vx

SELECT DECODE(';vx','xxoo')

    ->123

   

 

七、其他函数

  1、格式化函数FORMAT(x,n)

  FORMAT(x,n)函数可以将数字x进行格式化,将x保留到小数点后n位。


SELECT FORMAT(3.1415926,3)

    ->3.142

   

  2、不同进制的数字进行转换

ASCII(s) 返回字符串s的第一个字符的ASCII码;BIN(x) 返回x的二进制编码;HEX(x) 返回x的十六进制编码;OCT(x) 返回x的八进制编码;CONV(x,f1,f2) 返回f1进制数变成f2进制数;

  3、IP地址与数字相互转换的函数

INET_ATON(IP)函数可以将IP地址转换为数字表示;IP值需要加上引号;INET_NTOA(n)函数可以将数字n转换成IP形式。

SELECT INET_ATON('192.168.0.1')

    ->3232235521

SELECT INET_NTOA(3232235521)

    ->192.168.0.1

   

  4、加锁函数和解锁函数

GET_LOCK(name,time)函数定义一个名称为nam、持续时间长度为time秒的锁。如果锁定成功,则返回1;如果尝试超时,则返回0;如果遇到错误,返回NULL。RELEASE_LOCK(name)函数解除名称为name的锁。如果解锁成功,则返回1;如果尝试超时,返回0了如果解锁失败,返回NULL;IS_FREE_LOCK(name)函数判断是否已使用名为name的锁定。如果使用,返回0,否则,返回1;


SELECT GET_LOCK('MySQL',10)

    ->1    (持续10秒)

SELECT IS_FREE_LOCK('MySQL')

    ->1   

SELECT RELEASE_LOCK('MySQL')

    ->1

   

  5、重复执行指定操作的函数

  BENCHMARK(count.expr)函数将表达式expr重复执行count此,然后返回执行时间。该函数可以用来判断MySQL处理表达式的速度。


SELECT BENCHMARK(10000,NOW())

    ->0    返回系统时间1万

   

  6、改变字符集的函数

  CONVERT(s USING cs)函数将字符串s的字符集变成cs。

   

SELECT CHARSET('ABC')

    ->utf-8   

 

SELECT CHARSET(CONVERT('ABC' USING gbk))

    ->gbk

   

  7、转换数据类型

CAST(x AS type)CONVERT(x,type)

  这两个函数只对BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、UNSIGNED INTEGER。

SELECT CAST('123' AS UNSIGNED INTEGER) + 1

    ->124

 

SELECT '123' + 1

    ->124 其实MySQL能默认转换

 

SELECT CAST(NOW() AS DATE)

  ->2014-12-18

   

本文由职坐标整理并发布,了解更多内容,请关注职坐标数据库MySQL数据库频道

本文由 @Vivian 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程