五、MySQL常用函数

可参考【官网文档】https://dev.mysql.com/doc/refman/8.0/en/

5-1、基本函数

数学运算:

-- 数学运算
SELECT ABS(-8) AS '绝对值' -- 取绝对值 SELECT CEILING (3.14) AS '向上取整' -- 向上取整 SELECT FLOOR (3.14) AS '向下取整' -- 向下取整 SELECT RAND() -- 返回 [0,1) 随机数 SELECT SIGN(0) -- 判断一个数的符号 0 => 0 , 负数 => -1 , 正数=> 1

字符串:

SELECT CHAR_LENGTH('hello') -- 字符串长度
SELECT CONCAT('hello','world') -- 字符串 拼接
SELECT LOWER('HELLO') -- 转小写
SELECT UPPER('hello') -- 转大写
SELECT INSTR('l') -- 返回第一次出现子串 l 的索引
SELECT REPLACE('l','a') -- 把子串 l 替换为 a
SELECT substr('helloWorld',5,2) -- 截取字符串(源字符串,起始位置,截取长度):WO
SELECT reverse('helloWorld') -- 反转字符串

时间和日期:( 记住 )

SELECT NOW() 		-- 返回当前的时间,日期+时分秒(记个最简单的就行)
SELECT LOCALTIME() -- 返回本地的时间,日期+时分秒
SELECT SYSDATE() -- 返回系统的时间,日期+时分秒 SELECT CURDATE() -- 返回当前的日期
SELECT CURRENT_DATE() -- 返回当前的日期

系统:( 记住 )

SELECT USER() -- 返回当前用户
SELECT SYSTEM_USER() -- 返回当前用户
SELECT VERSION() -- 返回当前版本号

5-2、聚合函数(常用)

函数名称 描述
count() 计数
avg() 平均值
sum() 求和
max() 最大
min() 最小

相似的 count(*) 和 count(1)比较:

  • count(1):其实就是计算一共有多少符合条件的行。1并不是表示第一个字段,而是表示一个固定值。其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.

  • count(*):执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些。

总结:count(*),count(1) 和 count(列名)

  • 如果表中存在主键,count(主键列名)效率最优

  • 如果表中只有一列,则count(*)效率最优

  • 如果表有多列,且不存在主键,则count(1)效率优于count(*)

网上的实验结论:

该Table数据量:33681874(千万级)

根据执行计划,都是走PK查询,所有时间基本相差不大,如下:

Count(1):00:00:05.13;

count(*):00:00:05.29;

Count(主键):00:00:05.07;

Count(Index):00:00:05.10;

Count(普通列):00:00:05.29;

所以对于有主键非null的Table来说,执行效率:

Count(主键) > Count(Index) > Count(1) > Count(*) = Count(普通列)

网友:

现在cout(1)和count(*) 系统会自动做优化走索引还是全表,三者性能差别不大。

5-3、MD5 加密函数

 -- MD5 明文加密
SELECT MD5(123456)

如何校验?

  • 把传入的值,加密,再和表中已经加过密的值判断。

MySQL(5)— 常用函数的更多相关文章

  1. MYSQL基本常用函数

    MYSQL基本常用函数 一.字符的操作函数 (ps:mysql中的索引都是从1开始的.) 1.instr(param1,param2) 返回子串第一次出现的索引,若找不到则返回0. param1填写操 ...

  2. MySQL之常用函数

    MySQL有如下常用函数需要掌握: 1.数学类函数 函数名称 作用 ABS(x)   返回x的绝对值                      SQRT(x)   返回x的非负二次方根 MOD(x,Y ...

  3. mysql中常用函数简介(不定时更新)

    常用函数version() 显示当前数据库版本database() 返回当前数据库名称user() 返回当前登录用户名inet_aton(IP) 返回IP地址的数值形式,为IP地址的数学计算做准备in ...

  4. MySQL数据库常用函数

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 不区分大小写 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等 ...

  5. MySQL数据库------常用函数

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. [1]ABS(x)        返回x的绝对值 例子:SELECT ABS(-1) -- 返回1 [2]CEIL(x),CEILING( ...

  6. MySQL 数据库 常用函数

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...

  7. centos 7 c++连接mysql的常用函数说明及使用样例

    以下函数使用之前需安装mysql,并包含mysql.h头文件,设置好mysqlclient动态库 一.mysql_init() MYSQL * mysql_init(MYSQL *mysql); // ...

  8. mysql之常用函数(核心总结)

    为了简化操作,mysql提供了大量的函数给程序员使用(比如你想输入当前时间,可以调用now()函数) 函数可以出现的位置:插入语句的values()中,更新语句中,删除语句中,查询语句及其子句中. 聚 ...

  9. PHP操作MySQL的常用函数

    某些情况下(如html中),调用php的变量时,要给变量加{},若要使字符串变量加上引号,则还需要在{}外加引号 如: $sql="select * from admin where use ...

  10. mysql的常用函数

    原文地址参考:http://www.cnblogs.com/ringwang/archive/2008/07/05/1236292.html 1. 控制流函数 1.1  IFNULL(expr1,ex ...

随机推荐

  1. opencv-1-QT_OPENCV 安装

    opencv-1-QT_OPENCV 安装 qtopencvc++ 既然我们是从头开始的, 那我们就从 opencv 的安装开始吧, 主要环境为: win10 1909 - 18363.720 版本 ...

  2. 《Java 开发从入门到精通》—— 2.3 使用IDE工具序

    本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.3节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.3 使 ...

  3. java中for循环和while循环,哪个更快?--一道面试题

    for的 while的

  4. MySQL命令1

    开始学习MySQL. // 创建数据库 CREATE DATABASE db_name; // 删除数据库 DROP DATABASE db_name; // 显示数据库 SHOW DATABASES ...

  5. thinkphp 5.x~3.x 文件包含漏洞分析

    漏洞描述: ThinkPHP在加载模版解析变量时存在变量覆盖的问题,且没有对 $cacheFile 进行相应的消毒处理,导致模板文件的路径可以被覆盖,从而导致任意文件包含漏洞的发生. 主要还是变量覆盖 ...

  6. 一键运行CIS安全扫描,集群安全无忧!

    CIS安全扫描是Rancher 2.4推出的其中一个重磅功能,旨在帮助用户快速.有效地加强集群的安全性.本文将详细介绍CIS安全扫描这一功能,包含详细的操作demo. 本文来自Rancher Labs ...

  7. 用纯css、JavaScript、jQuery简单的轮播图

    完成一个可以自动切换或点击数字的轮播图 HTML代码只需要一个div 包含着一个图片和一个列表,我们主要的思路就是通过点击相应的数字,改变图片的 路径. 有4张图片都在img文件夹里,名称为  img ...

  8. GIL-Guilds(黑白灰染色)

    传送门门门门门咩咩咩咩咩咩咩咩咩咩咩咩 \(这题真是扯谈!!!\) \(灰色很高级是吧,但是题目没要你把颜色全部用上去啊!!!\) \(黑色或者白色只有一个条件,但灰色需要和所有三种颜色都相邻.这么难 ...

  9. HDU1300Pearls

    传送门 描述: 有几种不同的珍珠.每种珍珠都有它的单价.当然质量高的珍珠价格一定也是高的. 为了避免买家只买1个珍珠.就要求不论是买了多少个珍珠都是需要在购买数量上加10.之后乘上单价. 例如:买5个 ...

  10. .NET Core+QQ第三方授权登录

    安装包 dotnet add package AspNet.Security.OAuth.QQ 接上文GitHub第三方授权登录 申请过程不介绍了,申请者资料,个人也是可以申请成功的. 这时候有二个参 ...