【⑤MySQL函数】:让你的数据库操作更高效(二)

这篇具有很好参考价值的文章主要介绍了【⑤MySQL函数】:让你的数据库操作更高效(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL日期时间、条件判断、系统信息、加密、进制转换和IP地址转换函数的讲解

一、日期和时间函数

函数 作用
CURDATE(),CURRENT_DATE() 返回当前日期
CURTIME(),CURRENT_TIME() 返回当前时间
NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),
SYSDATE(),LOCALTIMESTAMP()
返回会当前日期和事件
YEAR(日期) 返回日期中的年份
MONTH(日期) 返回日期中的月份[1,12]
DAY(日期) 返回日期中的天[1,31]
HOUR(时间) 返回时间中的小时
MINUTE(时间) 返回时间中的分钟
SECOND(时间) 返回时间中的秒
DAYOFWEEK(日期) 返回星期几,1星期日,2星期一
WEEKDAY(日期) 返回星期几,0星期一,1星期二
DAYOFYEAR(日期) 计算指定日期是本年第几天
DAYOFMONTH(日期) 计算指定日期是本月第几天
QUARTER(日期) 计算指定日期是第几季度
TIME_TO_SEC(time) 将指定时间转换为秒
SEC_TO_TIME(sec) 将以秒为单位的时间转换为时分秒的格式
DATEDIFF(d1,d2) 计算两个日期相隔的天数
ADDDATE(date,n) 计算指定日期加上n天后的日期
SUBDATE(date,n) 计算指定日期减去n天后的日期
ADDTIME(time,n) 计算指定时间加上n秒后的时间
SUBTIME(time,n) 计算指定时间减去n秒后的时间
DATE_FORMAT(date,f) 按格式返回日期
TIME_FORMAT(time,f) 按格式返回时间

日期和时间函数练习:

  • CURDATE(),CURRENT_DATE()返回当前日期CURTIME(),CURRENT_TIME() ,返回当前时间NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE(),LOCALTIMESTAMP(),返回会当前日期和事件

    SELECT CURDATE(),CURTIME(),NOW(),LOCALTIME(),SYSDATE();
    
  • MONTH(日期) : 返回日期中的月份[1,12],DAY(日期) : 返回日期中的天[1,31],HOUR(时间) : 返回时间中的小时,MINUTE(时间) : 返回时间中的分钟,SECOND(时间) : 返回时间中的秒

    SELECT YEAR(NOW()),MONTH(NOW()),DAY(NOW()),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW());
    
  • DAYOFWEEK:(日期) 返回星期几,1星期日,2星期一;WEEKDAY(日期):返回星期几,0星期一,1星期二

    SELECT DAYOFWEEK(NOW()),WEEKDAY(NOW());
    
  • DAYOFYEAR(日期):计算指定日期是本年第几天;DAYOFMONTH(日期): 计算指定日期是本月第几天;QUARTER(日期) :计算指定日期是第几季度

    SELECT DAYOFYEAR(NOW()),DAYOFMONTH(NOW()),QUARTER(NOW());
    
  • TIME_TO_SEC(time) :将指定时间转换为秒;SEC_TO_TIME(sec) : 将以秒为单位的时间转换为时分秒的格式

    SELECT TIME_TO_SEC('01:00:00');
    SELECT SEC_TO_TIME('3600');
    
  • ADDDATE(date,n) : 计算指定日期加上n天后的日期;SUBDATE(date,n) : 计算指定日期减去n天后的日期;ADDTIME(time,n): 计算指定时间加上n秒后的时间;SUBTIME(time,n) : 计算指定时间减去n秒后的时间

    SELECT DATEDIFF(CURDATE(),'2023/6/5');
    SELECT ADDDATE(CURDATE(),'2'),SUBDATE(CURDATE(),'2');
    SELECT ADDTIME(CURTIME(),'2'),SUBTIME(CURTIME(),'2');
    
  • DATE_FORMAT(date,f): 按格式返回日期;TIME_FORMAT(time,f) :按格式返回时间注意:%Y表示年份为4位,%y表示两位,分钟的格式化字符要用%i

    SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d');
    SELECT DATE_FORMAT(CURDATE(),'%y-%m-%d');
    SELECT TIME_FORMAT(CURTIME(),'%h-%i-%s');
    

效果如下:

【⑤MySQL函数】:让你的数据库操作更高效(二)
【⑤MySQL函数】:让你的数据库操作更高效(二)
【⑤MySQL函数】:让你的数据库操作更高效(二)

二、条件判断函数

函数 作用
IF(expr,v1,v2) 如果表达式expr成立,返回结果v1;否则,返回结果v2。
IFNULL(v1,v2) 如果v1的值不为NULL,则返回v1,否则返回v2
CASE 分支(详见下面)
  • IF(expr,v1,v2)
SELECT IF(1>0,'true','false');
->true
  • IFNULL(v1,v2)
SELECT IFNULL(NULL,'king');
->king
  • CASE

语法1:

CASE
	WHEN expr1 THEN V1
	WHEN expr2 THEN V2
	...
	ELSE vn
END	
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
SELECT CASE 1 
  WHEN 1 THEN '我是1'
  WHEN 2 THEN '我是2'
ELSE '你是谁'

三、系统信息函数

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

函数 作用
VERSION() 返回数据库的版本号
CONNECTION_ID() 返回服务器的连接数
DATABASE()、SCHEMA 返回当前数据库名
USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER 返回当前用户
CHARSET(str) 返回字符串str的字符集
COLLATION(str) 返回字符串str的字符排列方式

系统信息函数练习:

  • VERSION() : 返回数据库的版本号

    SELECT VERSION();
    
  • CONNECTION_ID(): 返回服务器的连接数

    SELECT CONNECTION_ID();
    
  • DATABASE()、SCHEMA: 返回当前数据库名

    SELECT DATABASE();
    
  • USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER: 返回当前用户

    SELECT user();
    
  • CHARSET(str) :返回字符串str的字符集

    SELECT CHARSET('123564');
    
  • COLLATION(str): 返回字符串str的字符排列方式

    SELECT COLLATION('king');
    

效果如下:

【⑤MySQL函数】:让你的数据库操作更高效(二)

四、加密函数

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

函数 作用
MD5(str) 对字符串str进行散列,可以用于一些普通的不需要解密的数据加密,如密码
sha1 对字符串str进行散列,可以用于一些普通的不需要解密的数据加密,如密码,比MD5更安全
SELECT MD5('12345679'),SHA1('12345679');
-->defac44447b57f152d14f30cea7a73cb   -->c4b93599b61b85b1f109064294c5bd7adf73ca66

我们会发现sha1产生的密码更长

五、进制转换函数

函数 作用
BIN(x) 返回x的二进制
HEX(x) 返回x的十六进制
OCT(x) 返回x的八进制
CONV(x,from_base,to_base) 将from_base进制的x,转成to_base进制
SELECT BIN(10),HEX(10),OCT(10),CONV(16,16,10);
->1010 A 12 22

六、IP地址转换函数

函数 作用
INET_ATON(IP) 将点分十进制的IP地址转为数字
INET_NTOA(number) 将数字形式的IP转为点分十进制
SELECT INET_ATON('192.168.0.1')
    ->3232235521
SELECT INET_NTOA(3232235521)
    ->192.168.0.1

七、总结

✨~MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。MySQL 包含了大量并且丰富的函数,咱们讲解几十个常用的,剩下的比较罕见的函数我们可以到「✨MySQL 参考手册」查询。文章来源地址https://www.toymoban.com/news/detail-499627.html

到了这里,关于【⑤MySQL函数】:让你的数据库操作更高效(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库高效批量更新操作 MERGE INTO

    使用 UPDATE 批量更新大量的数据,会出现效率低下,有时候甚至卡死的情况,后面通过使用 MERGE INTO 代替 UPDATE 执行批量更新,会提升执行效率。 原理:因为 UPDATE 关联子查询写法,是选到一条做一次子查询,这种写法得更新少,走好的索引才行,MERGE 写法是执行完 ON 后一次

    2024年02月17日
    浏览(34)
  • 一文读懂大数据工具Phoenix:让你的数据管理更高效!

    介绍:Phoenix,最初由saleforce开发并开源,后成为Apache基金会的顶级项目。它是一个构建在HBase上的SQL层,可以使用标准的JDBC APIs而不是HBase客户端APIs来创建表、插入数据和查询HBase中的数据。此外,Phoenix还完全使用Java编写,作为HBase内嵌的JDBC驱动,将SQL查询转换为一个或多个

    2024年01月20日
    浏览(31)
  • Navicat 16 for MySQL:打造高效数据库开发管理工具

    随着数据的快速增长和复杂性的提升,数据库成为了现代应用开发中不可或缺的一部分。而在MySQL数据库领域,Navicat 16 for MySQL作为一款强大的数据库开发管理工具,正受到越来越多开发者的青睐。 Navicat 16 for MySQL拥有丰富的功能和直观的界面,能够帮助开发者轻松进行数据库

    2024年01月24日
    浏览(51)
  • MySQL秘籍:让你的表操作炉火纯青

    💕 每个人都有自己的一生,不要和别人去比较。比较只会让你感到沮丧和不满足。关注自己的成长和进步,并享受属于自己的旅程。 💕 🐼作者:不能再留遗憾了🐼 🎆专栏:MySQL学习🎆 🚗本文章主要内容:学习MySQL的对表操作。查看表、创建表、删除表,对表进行增删改

    2024年02月07日
    浏览(23)
  • 使用示例和应用程序全面了解高效数据管理的Golang MySQL数据库

    Golang,也被称为Go,已经成为构建强大高性能应用程序的首选语言。在处理MySQL数据库时,Golang提供了一系列强大的库,简化了数据库交互并提高了效率。在本文中,我们将深入探讨一些最流行的Golang MySQL数据库库,通过实际示例来探索它们的功能。 GORM是用于Golang的功能丰富

    2024年02月08日
    浏览(42)
  • MySQL数据库:内置函数

    规定:日期:年月日       时间:时分秒 函数名称 作用描述 current_date() 当前日期 current_time() 当前时间 current_timestamp() 当前时间戳 date(datetime) 返回datetime参数的日期部分 date_add(date,interval d_value_type) 在date中添加时间或日期。interval后面可以是year、day、minute、second date_sub(da

    2024年02月11日
    浏览(30)
  • MySQL的数据库操作、数据类型、表操作

    目录 一、数据库操作 (1)、显示数据库 (2)、创建数据库 (3)、删除数据库 (4)、使用数据库 二、常用数据类型 (1)、数值类型 (2)、字符串类型 (3)、日期类型 三、表操作 (1)、创建表 (2)、查看表 (3)、删除表 都要看到这了,点个赞再走吧,谢谢谢谢谢

    2024年02月06日
    浏览(46)
  • 【MySQL--->数据库操作】

    语句格式:create database [if no exists]数据库名[create_specification [,create_specification] …]; 中括号内是可选项,if no exists是指如果数据库不存在就创建,存在就不创建,相当于自动查重. create_specification 可以指定数据库的编码格式和校验规则. drop database 数据库名; alter database 数据库名 指定

    2024年02月13日
    浏览(33)
  • MySQL 数据库操作

     提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、关系模型 二、数据库的操作 创建数据库 查看数据库 选择数据库 删除数据库 三、MySQL 数据库命名规范 总结 关系数据库是建立在关系模型上的。而关系模型本质上就是若干个存储数据的

    2023年04月08日
    浏览(38)
  • 数据库之MySQL数据操作练习

    目录 练习内容 worker表要求 创建的表的表结构 表中的数据内容 对数据的操作 1.显示所有职工的基本信息 2.查询所有职工所属部门的部门号,不显示重复的部门号 3.求出所有职工的人数 4.列出最高工和最低工资 5.列出职工的平均工资和总工资 6.创建一个只有职工号、姓名和参

    2024年02月13日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包