0


[ 数据库 ] MySQL 入门到放弃(五) --- MySQL 函数

🍬 博主介绍

  • 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
  • ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
  • 🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
  • 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
  • 🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

一、常用函数

1. 数学运算

  1. SELECT ABS(-8) -- 绝对值

  2. SELECT CEIL(1.5) -- 向上取整

  3. SELECT CEILING(9.4) -- 向上取整

  4. SELECT FLOOR(9.4) -- 向下取整

  5. SELECT RAND() -- 返回0-1随机数;若()里面有数字,RAND(x),x相同时,返回值相同

SELECT ABS(-8);                  --返回8
SELECT CEIL(1.5)                 --返回2
SELECT CEILING(9.4)              --返回10
SELECT FLOOR(9.4)                --返回9
SELECT RAND()                    --返回0-1随机数
  1. SELECT SIGN(-10) -- 判断一个数的符号 0-0 负数返回-1 正数返回1

  2. SELECT AVG(expression) --返回一个表达式的平均值,expression 是一个字段

  3. SELECT SUM(expression) -- 返回 expression 字段的总和

  4. SELECT MAX(expression) -- 返回字段 expression 中的最大值

  5. SELECT MIN(expression) -- 返回字段 expression 中的最小值

SELECT SIGN(-10)                 --返回0
SELECT AVG(expression)           --返回字段 expression 数据的平均值
SELECT SUM(expression)           --返回字段 expression 数据的总和 
SELECT MAX(expression)           --返回字段 expression 数据中的最大值 
SELECT MIN(expression)           --返回字段 expression 数据中的最小值 
  1. SELECT EXP(3) -- 计算 e 的三次方

  2. SELECT LEAST(3, 12, 34, 8, 25) -- 返回以下数字列表中的最小值

  3. SELECT LN(2) -- 返回 2 的自然对数

  4. SELECT LOG(20.085536923188) -- 返回自然对数(以 e 为底的对数)

  5. SELECT POW(2,3) -- 返回 2 的 3 次方

SELECT EXP(3)                    --返回20.085536923188
SELECT LEAST(3, 12, 34, 8, 25)   --返回3
SELECT LN(2)                     --返回0.6931471805599453
SELECT LOG(20.085536923188)      --返回3
SELECT POW(2,3)                  --返回8
  1. SELECT POWER(2,3) -- 返回 2 的 3 次方

  2. SELECT ROUND(1.23456) -- 返回离 1.23456 最近的整数

  3. SELECT SQRT(25) -- 返回 25 的平方根

  4. SELECT TRUNCATE(1.23456,3) -- 返回数值 1.23456 保留到小数点后 3 位的值(与 ROUND 最大的区别是不会进行四舍五入)

SELECT POWER(2,3)                --返回8
SELECT ROUND(1.23456)            --返回1
SELECT SQRT(25)                  --返回5
SELECT TRUNCATE(1.23456,3)       --返回1.234

2. 字符串函数

  1. SELECT ASCII('AB') -- 返回字符串 AB 的第一个字符的 ASCII 码

  2. SELECT LENGTH('1234') -- 返回字符串 1234 的字符数(长度)

  3. SELECT CHAR_LENGTH('1234') -- 返回字符串 1234 的字符数(长度)

  4. SELECT CHARACTER_LENGTH('1234') -- 返回字符串 1234 的字符数(长度)

  5. SELECT CONCAT(s1,s2…sn) -- 将 s1,s2 ...sn 多个字符串合并为一个字符串

1. SELECT ASCII('AB')                 --返回65
2. SELECT LENGTH('1234')              --返回4
3. SELECT CHAR_LENGTH('1234')         --返回4
4. SELECT CHARACTER_LENGTH('1234')    --返回4
5. SELECT CONCAT(s1,s2…sn)            --返回s1s2...sn
  1. SELECT FIND_IN_SET("c", "a,b,c,d,e") -- 返回在字符串s2中与s1匹配的字符串的位置

  2. SELECT FORMAT(250500.5634, 2) -- 函数可以将数字 250500.5634 进行格式化 “#,###.##”, 将 x 保留到小数点后 2 位,最后一位四舍五入

  3. SELECT INSERT("google.com", 1, 6, "runnob");字符串 runnob 替换 google.com 的 1 位置开始长度为 6 的字符串

  4. SELECT LOCATE('st','myteststring') -- 从字符串 myteststring 中获取 st 的开始位置

  5. SELECT LCASE('RUNOOB') -- 将字符串 RUNOOB 的所有字母变成小写字母

6. SELECT FIND_IN_SET("c", "a,b,c,d,e")            --返回3
7. SELECT FORMAT(250500.5634, 2)                   --返回250,500.56
8. SELECT INSERT("google.com", 1, 6, "runnob")     --返回runoob.com
9. SELECT LOCATE('st','myteststring')              --返回5
10. SELECT LCASE('RUNOOB')                         --返回runoob
  1. SELECT LOWER('RUNOOB'); -- 将字符串 RUNOOB 的所有字母变成小写字母

  2. SELECT UCASE('runoob') -- 将字符串 runoob 的所有字母变成大写字母

  3. SELECT UPPER('runoob') -- 将字符串 runoob 的所有字母变成大写字母

  4. SELECT TRIM(' RUNOOB ') -- 去掉字符串 RUNOOB 开始和结尾处的空格

  5. SELECT LTRIM(' RUNOOB ') -- 去掉字符串 RUNOOB 开始处的空格//返回 'RUNOOB '

11. SELECT LOWER('RUNOOB')                --返回runoob
12. SELECT UCASE('runoob')                --返回RUNOOB
13. SELECT UPPER('runoob')                --返回RUNOOB
14. SELECT TRIM('    RUNOOB    ')         --返回 RUNOOB
15. SELECT LTRIM('    RUNOOB    ')        --返回 'RUNOOB   '
  1. SELECT RTRIM(' RUNOOB ') -- 去掉字符串 RUNOOB 结尾处的空格

  2. SELECT SUBSTR("RUNOOB", 2, 3) -- 从字符串 RUNOOB 中的第 2 个位置截取 3个字符

  3. SELECT SUBSTRING("RUNOOB", 2, 3) -- 从字符串 RUNOOB 中的第 2 个位置截取 3个字符

  4. SELECT POSITION('b' in 'abc') -- 从字符串 abc 中获取 b 的开始位置

  5. SELECT REPEAT('runoob',3) -- 将字符串 runoob 重复 3 次

16. SELECT RTRIM('    RUNOOB    ')            --返回 '    RUNOOB'
17. SELECT SUBSTR("RUNOOB", 2, 3)             --返回UNO
18. SELECT SUBSTRING("RUNOOB", 2, 3)          --返回UNO
19. SELECT POSITION('b' in 'abc')             --返回2
20. SELECT REPEAT('runoob',3)                 --返回runoobrunoobrunoob
  1. SELECT REVERSE('abc') -- 将字符串s的顺序反过来

  2. STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1 。SELECT STRCMP("runoob", "runoob")

  3. SELECT REPLACE('坚持就能成功','坚持,'努力') -- 将坚持就能成功中的坚持替换为努力

21. SELECT REVERSE('abc')                         --返回cba
22. SELECT STRCMP("runoob", "runoob")             --返回0
23. SELECT REPLACE('坚持就能成功','坚持','努力')   --努力坚持就能成功

3. 替换函数

查询姓 周 的同学 ,改成邹

SELECT REPLACE(studentname,'周','邹') FROM student

WHERE studentname LIKE '周%'

4. 时间跟日期函数(记住)

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

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

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

SELECT LOCATIME() -- 本地时间

SELECT SYSDATE() -- 系统时间

SELECT YEAR(NOW())

SELECT MONTH(NOW())

SELECT DAY(NOW())

SELECT HOUR(NOW())

SELECT MINUTE(NOW())

SELECT SECOND(NOW())

5. 系统

SELECT SYSTEM_USER()

SELECT USER()

SELECT VERSION()

二、聚合函数(常用)

三、 数据库级别MD5加密(拓展)

1. 什么是MD5

主要增强算法复杂度不可逆性。

MD5不可逆,具体的MD5是一样的

MD5破解原理,背后有一个字典,MD5加密后的值,加密前的值

CREATE TABLE testmd5(

id INT(4) NOT NULL,

name VARCHAR(20) NOT NULL,

pwd VARCHAR(50) NOT NULL,

PRIMARY KEY (id)

)ENGINE=INNODB DEFAULT CHARSET=UTF8

2. 明文密码

INSERT INTO testmd5 VALUES(1,'张三','123456'),(2,'李四','123456'),(3,'王五','123456')

3. 加密

UPDATE testmd5 SET pwd=MD5(pwd) WHERE id =1

UPDATE testmd5 SET pwd=MD5(pwd) WHERE id !=1 -- 加密全部

4. 插入时加密

INSERT INTO testmd5 VALUES(4,'小明',MD5('123456'))

INSERT INTO testmd5 VALUES(5,'红',MD5('123456'))

5. 如何校验,将用户传递过来的密码,进行MD5加密,然后对比加密后的值

SELECT * FROM testmd5 WHERE name='红' AND pwd=MD5('123456')

四、专栏分享

每个专栏都在持续更新中~~~

渗透测试自学篇 web基础知识点

网络基础 面试总结

网络工程师 python

操作系统篇 通讯安全

闲聊 漏洞复现篇

代码审计 SSM

docker 环境搭建篇

python爬虫 靶场

​​​​​​心理学

标签: 数据库 mysql sql

本文转载自: https://blog.csdn.net/qq_51577576/article/details/122382946
版权归原作者 _PowerShell 所有, 如有侵权,请联系我们删除。

“[ 数据库 ] MySQL 入门到放弃(五) --- MySQL 函数”的评论:

还没有评论