加密解密,MySQL单行函数,数学函数字符串日期时间,流程控制,完整详细可收藏查询SQL

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料)


文章目录

    • 1、函数的理解
    • 2、数值函数
      • 2.1 基本函数
      • 2.2 角度与弧度
      • 2.3 三角函数
      • 2.4 指数与对数
      • 2.5 进制转换
    • 3、字符串函数
    • 4. 日期和时间函数
      • 4.1 获取日期时间
      • 4.2 日期与时间戳
      • 4.3 月份星期天数等
      • 4.4 日期的操作
      • 4.5 时间和秒钟
      • 4.6 计算日期和时间
      • 4.7 格式化与解析
    • 5、流程控制函数
    • 6、加密与解密函数
    • 7、MySQL信息函数
    • 8、其他函数


1、函数的理解

1.1 什么是函数
函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既 提高了代码效率 ,又 提高了可维护性 。在 SQL 中我们也可以使用函数对检索出来的数据进行函数操作。使用这些函数,可以极大地 提高用户对数据库的管理效率 。
在这里插入图片描述
从函数定义的角度出发,我们可以将函数分成 内置函数 和 自定义函数 。在 SQL 语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的。

1.2 不同DBMS函数的差异
我们在使用 SQL 语言的时候,不是直接和这门语言打交道,而是通过它使用不同的数据库软件,即DBMS。DBMS 之间的差异性很大,远大于同一个语言不同版本之间的差异。实际上,只有很少的函数是被 DBMS 同时支持的。比如,大多数 DBMS 使用(||)或者(+)来做拼接符,而在 MySQL 中的字符串拼接函数为concat()。大部分 DBMS 会有自己特定的函数,这就意味着采用 SQL 函数的代码可移植性是很差的,因此在使用函数的时候需要特别注意。

1.3 MySQL的内置函数及分类
MySQL提供了丰富的内置函数,这些函数使得数据的维护与管理更加方便,能够更好地提供数据的分析与统计功能,在一定程度上提高了开发人员进行数据分析与统计的效率。MySQL提供的内置函数从 实现的功能角度 可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL信息函数、聚合函数等。这些丰富的内置函数可分为两大类: 单行函数 、 聚合函数(分组函数)。
在这里插入图片描述
单行函数:操作数据对象,接受参数返回一个结果,只对一行进行变换,每行返回一个结果,可以嵌套,参数可以是一列或一个值。


2、数值函数

2.1 基本函数

函数用法
ABS(x)返回x的绝对值
SIGN(x)返回x的符号,整数返回1,负数返回-1,0返回0
PI()返回圆周率的值
CEIL(x),CEILING(x)返回大于或等于x的最小整数
FLOOR(x)返回小于或等于x的最大整数
LEAST(e1,e2,e3…)返回列表中最小值
GREATEST(e1,e2,e3…)返回列表中最大值
MOD(x,y)返回x除以y后的余数
RAND返回0~1的随机数
RAND(x)返回0~1的随机数,其中x用作种子值,相同的x会产生相同的随机数
ROUND(x)返回x四舍五入后的整数
ROUND(x,y)返回x四舍五入后的保留小数点后y位的数
TRUNCATE(x,y)返回x截断为y位小数的结果
SQRT(x)返回x的平方根,若x为负,则返回NULL

2.2 角度与弧度

函数用法
RADIANS(x)将角度转化为弧度,参数x为角度值
DEGREES(x)将弧度转化为角度,参数x为弧度值
SELECT RADIANS(180),DEGREES(PI())
FROM DUAL;

在这里插入图片描述

2.3 三角函数

函数用法
SIN(x)返回x的正弦值,参数x为弧度值
ASIN(x)返回x的反正弦值,若x不在-1到1之间,则返回NULL
COS(x)返回x的余弦值,参数x为弧度值
ACOS(x)返回x的反余弦值,若x不在-1到1之间,则返回NULL
TAN(x)返回x的正切值,参数x为弧度值
ATAN(x)返回x的反正切值,即返回正切值为x的值
ATAN2(m,x)返回两个参数的反正切值
COT(x)返回x的余切值,参数x为弧度值

2.4 指数与对数

函数用法
POW(x,y),POWER(x,y)返回x的y次方
EXP(x)返回e的x次方,其中e=2.718281828259045
LN(x),LOG(x)返回以e为底的x的对数,当x<=0时,返回NULL
LOGx(y)返回以x为底的y的对数,当x<=0时,返回NULL

2.5 进制转换

函数用法
BIN(x)返回x的二进制编码
HEX(x)返回x的十六进制编码
OCT(x)返回x的八进制编码
CONV(x,f1,f2)将以f1进制编码的x转换为以f2进制编码

3、字符串函数

注意:在MySQL中,字符串的位置是从1开始的,而不是0。

函数用法
ASCII(s)返回字符串s中第一个字符的ASCII码值
CHAR_LENGTH(s)返回字符串s的字符数
LENGTH(s)返回字符串s的字节数,和字符集有关
CONCAT(s1,s2,s3…)拼接s1s2s3…为一个字符串
CONCAT_WS(x,s1,s2,s3…)以x为间隔拼接s1s2s3…为一个字符串
INSERT(str,idx,len,replacestr)用replacstr替换str从第idx个位置起的len个字串
REPLACE(str,a,b)用字符串b替换str中所有的字符串a
UPPER(s),UCASE(s)将字符串s的所有字母转成大写
LOWER(s),LCASE(s)将字符串s的所有字母转成小写
LEFT(str,n)返回字符串str左边的n个字符
RIGHT(str,n)返回字符串str右边的n个字符
LPAD(str,len,pad)用字符串pad对str进行左填充,直到长度为len个字符
RPAD(str,len,pad)用字符串pad对str进行右填充,直到长度为len个字符
LTRIM(s)去掉字符串s左侧的空格
RTRIM(s)去掉字符串s右侧的空格
TRIM(s)去掉字符串s两侧的空格
TRIM(s1 FROM s)去掉字符串s两侧的s1
TRIM(LEADING s1 FROM s)去掉字符串s左侧的s1
TRIM(TRAILING s1 FROM s)去掉字符串s右侧的s1
REPEAT(str,n)返回字符串str重复n次的结果
SPACE(n)返回n个空格
STRCMP(s1,s2)比较字符串s1和s2的ASCII码值的大小
SUBSTR(s,index,len)返回从字符串s的第index个位置起的len个字符
LOCATE(substr,str)返回字符串substr在字符串str中首次出现的位置,未找到返回0
ELT(m,s1,s2,s3…)返回列表中第m个字符串,若m=n,则返回sn
FIELD(s,s1,s2,s3…)返回字符串s在列表中第一次出现的位置
FIND_IN_SET(s1,s2)返回字符串s1在字符串s2中出现的位置,其中s2是一个以逗号分隔的字符串
REVERSE(s)返回字符串反转后的字符串
NULLIF(value1,value2)若value1=value2,则返回NULL,否则返回value1

4. 日期和时间函数

4.1 获取日期时间

函数用法
CURDATE(),CURRENT_DATE()返回当前日期,只包含年月日
CURTIME(),CURRENT_TIME()返回当前时间,只包含时分秒
NOW(),SYSDATE(),CURRENT_TIMESTAMP(),LOCALTIME(),LOCALTIMESTAMP()返回当前系统的日期和时间
UTC_DATE()返回UTC(世界标准时间)日期
UTC_TIME()返回UTC(世界标准时间)时间

4.2 日期与时间戳

函数用法
UNIX_TIMESTAMP()以UNIX时间戳的形式返回当前时间
UNIX_TIMESTAMP(date)将时间date以UNIX时间戳的形式返回
FROM_UNIXTIME(timestamp)将UNIX时间戳的时间转换为普通格式的时间

4.3 月份星期天数等

函数用法
YEAR(date),MONTH(date),DAY(date)返回具体的日期值
HOUR(time),MINUTE(time),SECOND(time)返回具体的时间值
MONTHNAME(date)返回月份英文名
DAYNAME(date)返回星期英文名
WEEKDAY(date)返回date是周几,周一是0,周二是1…
QUARTER(date)返回date是第几季度,范围为1~4
WEEK(date),WEEKOFYEAR(date)返回date是一年中的第几周
DAYOFYEAR(date)返回date是一年中的第几天
DAYOFMONTH(date)返回date是该月的第几天
DAYOFWEEK(date)返回date是该周的第几天,周日是1,周一是2…

4.4 日期的操作

函数用法
EXTRACT(type FROM date)返回指定日期中特定的部分,type指定返回的值
在这里插入图片描述

4.5 时间和秒钟

函数用法
TIME_TO_SEC(time)将time转化为秒并返回,公式:小时*3600+分钟*60+秒
SEC_TO_TIME(seconds)将seconds转化为包含小时分钟秒的时间

4.6 计算日期和时间

第1组:

函数用法
DATE_ADD(date INTERVAL expr type),ADDDATE(date INTERVAL expr type)返回与date相差INTERVAL时间间隔的日期时间
DATE_SUB(date INTERVAL expr type),SUBDATE(date INTERVAL expr type)返回与date相差INTERVAL时间间隔的日期时间
在这里插入图片描述
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS col1,DATE_ADD('2021-10-21 23:32:12',INTERVAL
1 SECOND) AS col2,
ADDDATE('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col3,
DATE_ADD('2021-10-21 23:32:12',INTERVAL '1_1' MINUTE_SECOND) AS col4,
DATE_ADD(NOW(), INTERVAL -1 YEAR) AS col5, #可以是负数
DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH) AS col6 #需要单引号
FROM DUAL;

第2组:

函数用法
ADDTIME(time1,time2)返回time1加上time2的时间,当time2为一个数字时,代表的是秒
SUBTIME(time1,time2)返回time1减去time2的时间,当time2为一个数字时,代表的是秒
DATEDIFF(date1,date2)返回date1-date2的日期间隔天数
TIMEDIFF(time1,time2)返回time1-time2的时间间隔
FROM_DAYS(n)返回从0000年1月1日起,n天以后的日期
TO_DATE(date)返回date距离0000年1月1日的天数
LAST_DAY(date)返回date所在月份最后一天的日期
MAKEDATE(year,n)针对给定年份year与天数返回一个日期
MAKETIME(hour,minute,second)将给定的时分秒组合成时间返回
PERIOD_ADD(time,n)返回time加上n后的时间

4.7 格式化与解析

函数用法
DATE_FORMAT(date,fmt)按照字符串fmt格式化日期date值
TIME_FORMAT(time,fmt)按照字符串fmt格式化时间time值
GET_FORMAT(date_type,format_type)返回日期字符串的显示格式
STR_TO_DATE(str,fmt)按照字符串fmt对str进行解析,解析为一个日期

上述 非GET_FORMAT 函数中fmt参数常用的格式符:
在这里插入图片描述
GET_FORMAT函数中date_type和format_type参数取值如下:
在这里插入图片描述


5、流程控制函数

流程处理函数可以根据不同的条件,执行不同的处理流程,可以在SQL语句中实现不同的条件选择。MySQL中的流程处理函数主要包括IF()、IFNULL()和CASE()函数。

函数用法
IF(value,value1,value2)若value为TRUE,则返回value1,否则返回value2
IFNULL(value1,value2)若value1不为NULL,则返回value1,否则返回value2
CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 … [ELSE result] END相当于Java中的if…else if…else
CASE expr WHEN 常量1 THEN 值1 WHEN 常量2 THEN 结果2 … [ELSE result] END相当于Java中的switch…case…
SELECT oid,`status`, CASE `status` WHEN 1 THEN '未付款'
WHEN 2 THEN '已付款'
WHEN 3 THEN '已发货'
WHEN 4 THEN '确认收货'
ELSE '无效订单' END
FROM t_order;

6、加密与解密函数

加密与解密函数主要用于对数据库中的数据进行加密和解密处理,以防止数据被他人窃取。这些函数在保证数据库安全时非常有用。

函数用法
PASSWORD(str)返回字符串str的加密版本,41位长,加密结果不可逆
MD5(str)返回字符串str的md5加密后的值
SHA(str)加密,比md5安全
ENCODE(value,password_seed)返回使用password_seed作为加密密码加密value
DECODE(value,password_seed)返回使用password_seed作为解密密码解密value

7、MySQL信息函数

MySQL中内置了一些可以查询MySQL信息的函数,这些函数主要用于帮助数据库开发或运维人员更好地对数据库进行维护工作。

函数用法
VERSION()返回当前MySQL的版本号
CONNECTION_ID()返回当前MySQL服务器的连接数
DATABASE(),SCHEMA()返回MySQL命令行当前所在的数据库
USER(),CURRENT_USER(),SYSTEM_USER(),SESSION_USER()返回当前连接MySQL的用户名,返回结果格式为“主机名@用户名”
CHARSET(value)返回字符串value的字符集
COLLATION(value)返回字符串value的比较规则

8、其他函数

MySQL中有些函数无法对其进行具体的分类,但是这些函数在MySQL的开发和运维过程中也是不容忽视的。

函数用法
FORMAT(value,n)返回对数字value进行格式化后的结果数据,n表示四舍五入后保留到小数点后n位
CONV(value,from,to)将value的值进行不同进制之间的转换
INET_ATON(ipvalue)将以点分隔的ip地址转化为一个数字
INET_NTOA(value)将数字形式的ip地址转化为以点分隔的ip地址
BENCHMARK(n,expr)将expr重复执行n次,用于测试处理所耗费的时间
CONVERT(value USING char_code)将value所使用的字符编码修改为char_code

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无锡太湖学院计算机科学与技术宿舍,无锡太湖学院宿舍条件,宿舍环境图片(10篇)...

无锡太湖学院宿舍条件,宿舍环境图片(10篇)大学宿舍是一个神奇的地方&#xff0c;来自于天南地北的同学聚集在一个屋檐下&#xff0c;并将在一起度过宝贵的大学时光。人们常说&#xff0c;没有住过宿舍的大学是不完整的。当然不同的大学宿舍环境条件都不一样。高考升学网小编本文…

SELECT执行过程,MySQL聚合函数,多行分组函数,GROUP BY HAVING,详细完整可收藏

文章目录1、聚合函数介绍2、五个常用聚合函数3、GROUP BY4、HAVING5、SELECT的执行过程1、聚合函数介绍 聚合函数作用于一组数据&#xff0c;并对一组数据返回一个值。聚合函数不能嵌套调用。比如不能出现类似“AVG(SUM(字段名称))”形式的调用。 2、五个常用聚合函数 2.1 A…

嵌套套娃,MySQL子查询,单行与多行子查询,相关和不相关(关联)子查询,完整详细可收藏

文章目录1、需求分析与问题解决2、单行子查询3、多行子查询4、相关子查询5、抛一个思考题子查询指一个查询语句嵌套在另一个查询语句内部的查询&#xff0c;这个特性从MySQL 4.1开始引入。SQL 中子查询的使用大大增强了 SELECT 查询的能力&#xff0c;因为很多时候查询需要从结…

键盘连接在计算机的,技巧:如何在计算机键盘上输入连字符和破折号?

文字/连字符在哪里&#xff0c;我该如何输入&#xff1f;例如&#xff0c;某些英语单词中有连字符&#xff0c;例如高层。当然&#xff0c;有时是否有连字符都没有关系&#xff0c;并且不影响其含义。但是&#xff0c;有时有必要。例如&#xff0c;单词在行尾的位置是不够的。您…

删库跑路?不可回滚?MySQL创建和管理表,修改清空表,MySQL8新特性DDL原子化,完整详细可收藏

文章目录1、基础知识2、创建和管理数据库3、创建表4、修改表5、重命名表6、 删除表7、清空表8、MySQL8新特性—DDL的原子化1、基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步 。只有正确地把数据存储起来&#xff0c;我们才能进行有效的处理和分析。否则&#x…

不全?MySQL数据类型精讲,定点日期枚举文本字符串,json二进制,空间,选择建议,完整详细可收藏

文章目录1. MySQL中的数据类型2. 整数类型3. 浮点数类型4. 定点数类型5. 位类型&#xff1a;BIT6. 日期与时间类型7. 文本字符串类型8. ENUM类型9. SET类型10. 二进制字符串类型11. JSON 类型12. 空间类型13. 选择建议1. MySQL中的数据类型 常见数据类型的属性&#xff0c;如下…

约束,MySQL约束,非空默认值,主键外键唯一自增,完整详细可收藏

文章目录1. 约束(constraint)概述2. 非空约束3. 唯一性约束4. PRIMARY KEY 约束5. 自增列&#xff1a;AUTO_INCREMENT6. FOREIGN KEY 约束7. CHECK 约束8. DEFAULT约束9. 面试1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性&#xff08;Data Integrity&#xff09;是…

如何测试Java类的线程安全性

我在最近的一次网络研讨会中谈到了这个问题&#xff0c;现在是时候以书面形式进行解释了。 线程安全是Java等语言/平台中类的重要品质&#xff0c;我们经常在线程之间共享对象。 缺乏线程安全性导致的问题很难调试&#xff0c;因为它们是零星的并且几乎不可能有意复制。 您如何…

争议?MySQL存储过程与函数,封装,体,完整详细可收藏

文章目录1. 存储过程概述2. 创建存储过程3. 调用存储过程4. 存储函数的使用5. 存储过程和函数的查看、修改、删除6. 关于存储过程使用的争议MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起&#xff0c;应用程序无须关注存储过程和函数内部…

梦幻,MySQL视图,虚实表,完整详细可收藏

文章目录1. 数据库对象2. 视图概述3. 创建视图4. 查看视图5. 更新视图的数据6. 修改、删除视图7. 总结1. 数据库对象 2. 视图概述 2.1 为什么使用视图&#xff1f; 视图一方面可以帮我们使用表的一部分而不是所有的表&#xff0c;另一方面也可以针对不同的用户制定不同的查询视…

一条一条来,MySQL变量、流程控制与游标,完整详细可收藏

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 文章目录1. 变量2. 定义条件与处理程序3. 流程控制4. 游标MyS…

无服务器:SLAppForge Sigma入门

&#xff01; Cmere。 寻找某事&#xff1f; 无服务器&#xff0c;是吗&#xff1f; 在上面。 进入海峡&#xff0c;在“ Sigma”标志处右转。 &#xff08;嗯&#xff0c;还不要怪我们&#xff1b;至少我们认为这很容易&#xff01;&#xff09; 我们的梦想目标之一是与S…

自动,MySQL触发器,完整详细可收藏

前些天发现了十分不错的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;没有广告&#xff0c;分享给大家&#xff0c;大家可以自行看看。&#xff08;点击跳转人工智能学习资料&#xff09; 文章目录1. 触发器概述2. 触发器的创建3. 查看、删除触发器4.…

统计信号处理基础 - 估计与检测理论 估计部分习题3.7公式推导

统计信号处理基础 - 估计与检测理论 估计部分习题3.7公式推导题目证明结论得证题目 相信学习信号检测与估计的童鞋们肯定看到过Steven M.Kay大牛的书&#xff0c;非常厚的一本&#xff0c;不得不说&#xff0c;人家的书就是写得好&#xff0c;浅显易懂&#xff08;当然是要从头…

机器学习大作业《Kaggle赛题之Kannada MNIST研究》论文和Python代码

一、赛题概述及分析 1、背景介绍 邮政系统每天都会处理大量的信件&#xff0c;最为要紧的一环是要根据信件上的收信人邮编进行识别和分类&#xff0c;以便确定信件的投送地。原本这项任务是依靠大量的人工来进行&#xff0c;后来人们尝试让计算机来替代人工。然而&#xff0c…

neo4j图形界面_图形处理:betweeness中心性– neo4j的密码与graphstream

neo4j图形界面上周&#xff0c; 我写了关于中间性中心算法以及我尝试使用graphstream 理解它的尝试 &#xff0c;在阅读源代码的同时&#xff0c;我意识到我可以使用neo4j的所有最短路径算法将某些东西放在一起。 概括地说&#xff0c;中间性中心度算法用于确定图中节点的负载…

打开服务器文件提示内存不够,打开服务器文件提示内存不够

打开服务器文件提示内存不够 内容精选换一换本节操作指导您完成Windows操作系统云服务器磁盘空间清理。弹性云服务器匀出一部分磁盘空间来充当内存使用&#xff0c;当内存耗尽时&#xff0c;云服务器可以使用虚拟内存来缓解内存的紧张。但当内存使用率已经非常高时&#xff0c;…

【自适应(盲)均衡1】LMMSE、Godard、CMA常模、Sato等算法在信道均衡中的应用理论与MATLAB仿真(代码见CSDN同名资源)

1.实验背景 考虑如图所示的基带等效数据传输系统,发送符号经过ISI失真信道传输,叠加高斯加性白噪声。 设发送信号采用QPSK调制,即 x k = ( 1 j ) / 2 {x_k} = ( \pm 1 \pm j)/\sqrt 2 x

无线打印机与手机连接到服务器,图文详解手机通过无线Wifi连接打印机的方法...

打印机是我们在办公过程中经常会用到的打印设备&#xff0c;特别是当需要大量的文件资料时&#xff0c;打印机可以帮助我们快速的打印和记录。随着打印机使用的不断广泛&#xff0c;打印机的种类也在不断的增多&#xff0c;为了能够适应现在这个网络智能时代的发展&#xff0c;…

卷积码Viterbi译码算法基本原理及C语言实现

配套代码:https://download.csdn.net/download/wlwdecs_dn/14463620 界面 (3, 1, 3)卷积码状态转移框图 源文件 编码文件: 译码文件: