五、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. js 函数的多图片预加载(preload) 带插件版完整解析

    前言:         本人纯小白一个,有很多地方理解的没有各位大牛那么透彻,如有错误,请各位大牛指出斧正!小弟感激不尽.         本篇文章为您分析一下原生JS实现图片预加载效果 本篇文章写的 ...

  2. Java程序员必备基础结构图

    前言 最近看了深入理解Java虚拟机第三版,整理了一些基础结构图,算是比较全的了,做一下笔记,大家一起学习. 1.Java虚拟机运行时数据区图 JVM内存结构是Java程序员必须掌握的基础. 程序计数 ...

  3. 利用POI工具读取word文档并将数据存储到sqlserver数据库中

    今天实现了利用POI工具读取word文档,并将数据存储到sql数据库中,代码如下: package word; import java.io.File; import java.io.FileInpu ...

  4. Elasticsearch: 权威指南 » 深入搜索 » 多字段搜索 » 多数字段 good

      跨字段实体搜索  » 多数字段编辑 全文搜索被称作是 召回率(Recall) 与 精确率(Precision) 的战场: 召回率 --返回所有的相关文档:精确率 --不返回无关文档.目的是在结果的 ...

  5. webpack4.x开发环境配置

    写这篇文章的初衷在于,虽然网络上关于webpack的教程不少,但是大多已经过时,由于webpack版本更新后许多操作变化很大,很多教程的经验已经不适合.当我们使用npm安装webpack时,若不指定w ...

  6. Oliver Twist

    对于济贫院那些绅士们而言,贫民好吃懒做.贪得无厌.他们消耗的食物即是对教区最大的威胁. 绅士们的利益得不到满足时,孤儿们只能被驱之而后快,甚至被"加价出售". 然而,眼泪这种东西根 ...

  7. LeetCode 56,区间合并问题

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是LeetCode专题的第33篇文章,我们一起来看LeetCode的第56题,它的难度是Medium. 题意 这道题的题意也很简单,只有 ...

  8. zabbix 数据库分区表配置

    下载 pwd /usr/local/zabbix/share/zabbix/externalscriptswget http://cactifans.hi-www.com/zabbix/partiti ...

  9. spark系列-7、spark调优

    官网说明:http://spark.apache.org/docs/2.1.1/tuning.html#data-serialization 一.JVM调优 1.1.Java虚拟机垃圾回收调优的背景 ...

  10. 也谈解决Combobox绑定数据后取值出现System.Data.DataRowView的问题

    刚才遇到一个怪现象:同一个窗口,同一张表,通过第一个Combobox值的改变,动态绑定第二个Combobox,结果出现一个怪现象,第一个Combobox有的值改变第二个Combobox一切正常,有几个 ...