五、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. 【React踩坑记五】React项目中引入并使用react-ace代码编辑插件(自定义列表提示)

    最近有一个引入sql编辑器插件的需求,要求代码高亮显示,代码智能提示,以及支持自定义代码提示列表等功能.中途在自定义代码提示列表中由于没有相关demo,所以踩了一些坑,遂将其整理如下,以便日后查看. ...

  2. element-ui 通用表单封装及VUE JSX应用

    一.存在及需要解决的问题 一般在做后台OA的时候会发现表单重复代码比较多,且逻辑基本一样,每次新加一个表单都需要拷贝基本一致的代码结构,然后只是简单地修改对应的字段进行开发 二.预期结果 提取重复的表 ...

  3. 解决w3wp.exe占用CPU和内存问题

    在WINDOWS2003+IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢.可以做以下配置进行改善:1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响.2 ...

  4. jQuery学习(三)

    事件 on方法可以将一个事件绑定在jQuery对象上,当你的操作触发了这些事件时,便会调用你所绑定的函数. 例如,给某个超链接绑定点击事件. <head> <meta http-eq ...

  5. 在服务器本地监控服务端口命令之ss

    在服务器本地监控服务端口命令之ss 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢.可能你不会有 切身的感受,但当 ...

  6. Hardware Introduction

    计算机硬件组成可以概括为下图: CPU CPU生产商主要是Intel和AMD. Intel的产品主要有四种: Celeron(赛扬):低端处理器 Pentium(奔腾):比赛扬强,比酷睿弱 Xeon( ...

  7. 数学--数论--HDU1576 A / B(逆元)

    问题描述 要求(A / B)%9973,但由于A很大,我们只被告知n(n = A%9973)(我们给定的A必能被B整除,且gcd(B,9973)= 1). 输入项 数据的第一行是一个T,表示有T组数据 ...

  8. E. A Simple Task

    E. A Simple Task 这个题目的意思是 给你一个由小写字母组成的字符串,有两种操作 i j k 如果k==1 那么就是就把i 到 j 的这个区间非递减排序. i j k如果k==2 那么就 ...

  9. python学习笔记-零碎知识点

    1. 绝对值 abs(-4) 结果: 4 2.

  10. 【杂谈】Disruptor——RingBuffer问题整理(一)

    纯CAS为啥比加锁要快? 同样是修改数据,一个采用加锁的方式保证原子性,一个采用CAS的方式保证原子性. 都是能够达到目的的,但是常用的锁(例如显式的Lock和隐式的synchonized),都会把获 ...