免费学习推荐:mysql视频教程
本篇文章讲解是是MySQL的函数方法,涵盖所有的MySQL常见的方法。下面是本篇文章的目录结构,可以根据自己需求点击右方目录查找:
- 一、数字函数
- 二、字符串函数
- 三、日期函数
- 四、MySQL高级函数
(一)数字函数
1、ABS(x) 返回x的绝对值
SELECT ABS(-1); ---- 返回1
2、AVG(expression) 返回一个表达式的平均值,expression 是一个字段
SELECT AVG(age) FROM student;
3、CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数
SELECT CEIL(1.5); SELECT CEILING(1.5); ---- 返回2
4、FLOOR(x) 返回小于或等于 x 的最大整数
SELECT FLOOR(1.5); ---- 返回1
5、EXP(x) 返回 e 的 x 次方
SELECT EXP(3); ---- 计算 e 的三次方,返回20.085536923188
6、GREATEST(expr1, expr2, expr3, …) 返回列表中的最大值
SELECT GREATEST(3, 12, 34, 8, 25); ---- 返回以下数字列表中的最大值34
7、LEAST(expr1, expr2, expr3, …) 返回列表中的最小值
SELECT LEAST(3, 12, 34, 8, 25); ---- 返回以下数字列表中的最小值3
8、LN 返回数字的自然对数
SELECT LN(2); ---- 返回 2 的自然对数:0.6931471805599453
9、LOG(x) 返回自然对数(以 e 为底的对数)
SELECT LOG(20.085536923188); ---- 返回 3
10、MAX(expression)返回字段 expression 中的最大值
SELECT MAX(age) AS maxAge FROM Student; ---- age最大值
11、MIN(expression)返回字段 expression 中的最大值
SELECT MIN(age) AS minAge FROM Student; ---- age最小值
12、POW(x,y)/POWER(x,y)返回 x 的 y 次方
SELECT POW(2,3); SELECT POWER(2,3); ---- 返回2 的 3 次方:8
13、RAND()返回 0 到 1 的随机数
SELECT RAND(); ---- 返回 0 到 1 的随机数,若()里面有数字,RAND(x),x相同时,返回值相同
14、ROUND(x)返回离 x 最近的整数
SELECT ROUND(1.23456); ---- 返回 1
15、SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1
SELECT SIGN(-10); ---- 返回 -1
16、SQRT(x)返回x的平方根
SELECT SQRT(25); ---- 返回5
17、SUM(expression)返回指定字段的总和
SELECT SUM(age) AS totalAage FROM Student; ---- 返回age的总和
18、TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(与 ROUND 最大的区别是不会进行四舍五入)
SELECT TRUNCATE(1.23456,3); ---- 返回1.234
(二)字符串函数
1、返回字符串 s 的第一个字符的 ASCII 码
SELECT ASCII('AB'); ---- 返回A的ASCII码值:65
2、LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s)返回字符串 s 的字符数
SELECT LENGTH('1234'); ---- 返回4
3、CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串
SELECT CONCAT('hel','llo'); ---- 返回hello
4、FIND_IN_SET(s1,s2)返回在字符串s2中与s1匹配的字符串的位置
SELECT FIND_IN_SET("c", "a,b,c,d,e"); ---- 返回3
5、FORMAT(x,n)函数可以将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位,最后一位四舍五入
SELECT FORMAT(250500.5634, 2); ---- 返回250,500.56
6、INSERT(s1,x,len,s2)字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
SELECT INSERT("google.com", 1, 6, "runnob"); ---- 返回runoob.com
7、LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置
SELECT LOCATE('st','myteststring'); ---- 返回5
8、LCASE(s)/LOWER(s)将字符串 s 的所有字母变成小写字母
SELECT LOWER('RUNOOB'); ---- 返回runoob
9、UCASE(s)/UPPER(s)将字符串 s 的所有字母变成大写字母
SELECT UCASE('runoob'); ---- 返回RUNOOB
10、TRIM(s)去掉字符串 s 开始和结尾处的空格
SELECT TRIM(' RUNOOB '); ---- 返回RUNOOB
11、LTRIM(s)去掉字符串 s 开始处的空格
SELECT LTRIM(' RUNOOB '); ---- 返回 ’RUNOOB ‘
12、RTRIM(s)去掉字符串 s 结尾处的空格
SELECT RTRIM(' RUNOOB '); ---- 返回 ’ RUNOOB‘
13、SUBSTR(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString; ---- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
14、SUBSTR/SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
SELECT SUBSTR/SUBSTRING("RUNOOB", 2, 3); ---- 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
15、POSITION(s1 IN s)从字符串 s 中获取 s1 的开始位置
SELECT POSITION('b' in 'abc'); ---- 返回2
16、REPEAT(s,n)将字符串 s 重复 n 次
SELECT REPEAT('runoob',3); ---- 返回runoobrunoobrunoob
17、REVERSE(s)将字符串s的顺序反过来
SELECT REVERSE('abc'); ---- 返回cba
18、STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1
SELECT STRCMP("runoob", "runoob"); ---- 返回0
(三)日期函数
1、CURDATE()/CURRENT_DATE()返回当前日期
SELECT CURDATE(); SELECT CURRENT_DATE(); ---- 返回2019-02-19
2、CURRENT_TIME()/CURTIME()返回当前时间
SELECT CURRENT_TIME(); ---- 返回11:40:45
3、CURRENT_TIMESTAMP()返回当前日期和时间
SELECT CURRENT_TIMESTAMP(); ---- 返回2019-02-19 11:41:32
4、ADDDATE(d,n)计算起始日期 d 加上 n 天的日期
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY); ---- 返回2017-06-25
5、ADDTIME(t,n)时间 t 加上 n 秒的时间
SELECT ADDTIME('2011-11-11 11:11:11', 5); ---- 返回2011-11-11 11:11:16
6、DATE()从日期或日期时间表达式中提取日期值
SELECT DATE("2017-06-15 11:11:16"); ---- 返回2017-06-15
7、DAY(d)返回日期值 d 的日期部分
SELECT DAY("2017-06-15"); ---- 返回15
8、DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数
SELECT DATEDIFF('2001-01-01','2001-02-02'); ---- 返回-32
9、DATE_FORMAT按表达式 f的要求显示日期 d
SELECT DATE_FORMAT('2011.11.11 11:11:11','%Y-%m-%d %r'); ---- 返回2011-11-11 11:11:11 AM
10、DAYNAME(d)返回日期 d 是星期几,如 Monday,Tuesday
SELECT DAYNAME('2011-11-11 11:11:11'); ---- 返回Friday
11、DAYOFMONTH(d)计算日期 d 是本月的第几天
SELECT DAYOFMONTH('2011-11-11 11:11:11'); ---- 返回11
12、DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推
SELECT DAYOFWEEK('2011-11-11 11:11:11'); ---- 返回6
13、DAYOFYEAR(d)计算日期 d 是本年的第几天
SELECT DAYOFYEAR('2011-11-11 11:11:11'); ---- 返回315
14、EXTRACT(type FROM d)从日期 d 中获取指定的值,type 指定返回的值
type可取值为:
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
SELECT EXTRACT(MINUTE FROM '2011-12-13 14:15:16'); ---- 返回15
15、DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,以此类推
SELECT DAYOFWEEK('2011-11-11 11:11:11'); ---- 返回6
16、UNIX_TIMESTAMP()得到时间戳
SELECT UNIX_TIMESTAMP('2019-2-19'); SELECT UNIX_TIMESTAMP(expression); ---- 返回1550505600
17、FROM_UNIXTIME()时间戳转日期
SELECT FROM_UNIXTIME(1550505600); ---- 返回2019-02-19 00:00:00 SELECT FROM_UNIXTIME(1550505600, '%Y-%m-%d'); ---- 返回2019-02-19
(四)MySQL高级函数
1、IF(expr,v1,v2)如果表达式 expr 成立,返回结果 v1;否则,返回结果 v2
SELECT IF(1>0,'yes','no'); ---- 返回yes
2、CONV(x,f1,f2)返回 f1 进制数变成 f2 进制数
SELECT CONV(13,10,2); ---- 返回1101
3、CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER()返回当前用户
4、DATABASE()返回当前数据库名
5、VERSION()返回数据库的版本号
有不正确的地方,欢迎前来指正!
相关免费学习推荐:mysql数据库(视频)
以上是总结 MySQL常用函数大全的详细内容。更多信息请关注PHP中文网其他相关文章!

MySQL在数据库和编程中的地位非常重要,它是一个开源的关系型数据库管理系统,广泛应用于各种应用场景。1)MySQL提供高效的数据存储、组织和检索功能,支持Web、移动和企业级系统。2)它使用客户端-服务器架构,支持多种存储引擎和索引优化。3)基本用法包括创建表和插入数据,高级用法涉及多表JOIN和复杂查询。4)常见问题如SQL语法错误和性能问题可以通过EXPLAIN命令和慢查询日志调试。5)性能优化方法包括合理使用索引、优化查询和使用缓存,最佳实践包括使用事务和PreparedStatemen

MySQL适合小型和大型企业。1)小型企业可使用MySQL进行基本数据管理,如存储客户信息。2)大型企业可利用MySQL处理海量数据和复杂业务逻辑,优化查询性能和事务处理。

InnoDB通过Next-KeyLocking机制有效防止幻读。1)Next-KeyLocking结合行锁和间隙锁,锁定记录及其间隙,防止新记录插入。2)在实际应用中,通过优化查询和调整隔离级别,可以减少锁竞争,提高并发性能。

MySQL不是一门编程语言,但其查询语言SQL具备编程语言的特性:1.SQL支持条件判断、循环和变量操作;2.通过存储过程、触发器和函数,用户可以在数据库中执行复杂逻辑操作。

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL是一个开源的关系型数据库管理系统,适用于数据存储、管理、查询和安全。1.它支持多种操作系统,广泛应用于Web应用等领域。2.通过客户端-服务器架构和不同存储引擎,MySQL高效处理数据。3.基本用法包括创建数据库和表,插入、查询和更新数据。4.高级用法涉及复杂查询和存储过程。5.常见错误可通过EXPLAIN语句调试。6.性能优化包括合理使用索引和优化查询语句。

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

InnoDB的锁机制包括共享锁、排他锁、意向锁、记录锁、间隙锁和下一个键锁。1.共享锁允许事务读取数据而不阻止其他事务读取。2.排他锁阻止其他事务读取和修改数据。3.意向锁优化锁效率。4.记录锁锁定索引记录。5.间隙锁锁定索引记录间隙。6.下一个键锁是记录锁和间隙锁的组合,确保数据一致性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器