总结 MySQL常用函数大全
免费学习推荐: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数据库(视频)
Atas ialah kandungan terperinci 总结 MySQL常用函数大全. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel ini membincangkan menggunakan pernyataan jadual Alter MySQL untuk mengubah suai jadual, termasuk menambah/menjatuhkan lajur, menamakan semula jadual/lajur, dan menukar jenis data lajur.

Keupayaan carian teks penuh InnoDB sangat kuat, yang dapat meningkatkan kecekapan pertanyaan pangkalan data dan keupayaan untuk memproses sejumlah besar data teks. 1) InnoDB melaksanakan carian teks penuh melalui pengindeksan terbalik, menyokong pertanyaan carian asas dan maju. 2) Gunakan perlawanan dan terhadap kata kunci untuk mencari, menyokong mod boolean dan carian frasa. 3) Kaedah pengoptimuman termasuk menggunakan teknologi segmentasi perkataan, membina semula indeks dan menyesuaikan saiz cache untuk meningkatkan prestasi dan ketepatan.

Artikel membincangkan mengkonfigurasi penyulitan SSL/TLS untuk MySQL, termasuk penjanaan sijil dan pengesahan. Isu utama menggunakan implikasi keselamatan sijil yang ditandatangani sendiri. [Kira-kira aksara: 159]

Artikel membincangkan alat MySQL GUI yang popular seperti MySQL Workbench dan PHPMyAdmin, membandingkan ciri dan kesesuaian mereka untuk pemula dan pengguna maju. [159 aksara]

Artikel membincangkan strategi untuk mengendalikan dataset besar di MySQL, termasuk pembahagian, sharding, pengindeksan, dan pengoptimuman pertanyaan.

Perbezaan antara indeks clustered dan indeks bukan cluster adalah: 1. Klustered Index menyimpan baris data dalam struktur indeks, yang sesuai untuk pertanyaan oleh kunci dan julat utama. 2. Indeks Indeks yang tidak berkumpul indeks nilai utama dan penunjuk kepada baris data, dan sesuai untuk pertanyaan lajur utama bukan utama.

Artikel ini membincangkan jadual menjatuhkan di MySQL menggunakan pernyataan Jadual Drop, menekankan langkah berjaga -jaga dan risiko. Ia menyoroti bahawa tindakan itu tidak dapat dipulihkan tanpa sandaran, memperincikan kaedah pemulihan dan bahaya persekitaran pengeluaran yang berpotensi.

Artikel ini membincangkan membuat indeks pada lajur JSON dalam pelbagai pangkalan data seperti PostgreSQL, MySQL, dan MongoDB untuk meningkatkan prestasi pertanyaan. Ia menerangkan sintaks dan faedah mengindeks laluan JSON tertentu, dan menyenaraikan sistem pangkalan data yang disokong.
