首页 > 数据库 >【学习笔记】Mysql函数

【学习笔记】Mysql函数

时间:2022-10-04 12:11:30浏览次数:48  
标签:count 函数 -- mysql 笔记 Mysql 字符串 SELECT

Mysql函数

 

常用函数

数学运算

SELECT ABS(-100)     -- 绝对值
SELECT CEILING(6.5)   -- 向上取整
SELECT FLOOR(6.5)     -- 向下取整
SELECT RAND()         -- 返回浮点型随机数
SELECT SIGN(-96969)     -- 返回一个数的符号,0返回0,整数返回1,负数返回-1

 

字符串

SELECT CHAR_LENGTH('这里是mysql常用函数')     -- 字符串长度
SELECT CONCAT('我','爱','中国')        -- 拼接字符串
SELECT INSERT('这里是mysql常用函数',4,5,'java')    -- 替换字符串 (原字符串,从哪个位置开始替换,替换几个字符串,替换成什么)
SELECT LOWER('Hello,World')    -- 大写字母转小写
SELECT UPPER('hello,world')    -- 小写字母转大写
SELECT INSTR('这里是mysql常用函数','m')   -- 返回子串第一次出现的位置的索引
SELECT REPLACE('这里是mysql常用函数','mysql','java')  -- 替换指定字符串  (原字符串,要替换的字符串,'替换成什么')
SELECT SUBSTR('这里是mysql常用函数',4,5)   -- 返回指定的子字符串,(原字符串,开始截取的位置,截取的长度)
SELECT REVERSE('这里是mysql常用函数')   -- 反转字符串

 

日期和时间

SELECT CURRENT_DATE()    -- 获取当前日期  与 CURDATE() 相同
SELECT NOW()     -- 获取当前时间   与 LOCALTIME() SYSDATE() 相同
SELECT YEAR(NOW())    -- 返回年份,月份,日期、时分秒与之相同

 

系统

SELECT SYSTEM_USER()   -- 返回系统用户 与 USER() 相同
SELECT VERSION()   -- 返回mysql版本

 

聚合函数

函数名称 描述
COUNT() 计数
SUM() 求和
AVG() 求平均值
MAX() 求最大值
MIN() 求最小值
... ...

 

count()

-- count(列名)
SELECT COUNT(studentno) FROM student
-- count(*)
SELECT COUNT(*) FROM student
-- -- count(1)
SELECT COUNT(1) FROM student

区别:

image-20221004114912715

我们现在根据gradeid 来计数学生的数量

-- count(列名)
SELECT COUNT(gradeid) FROM student

image-20221004115040838

-- count(*)
SELECT COUNT(*) FROM student
-- -- count(1)
SELECT COUNT(1) FROM student

image-20221004115111807

 

我们可以发现,使用count(gradeid),不能把gradeid为null的学生计算出来,而count(1)/count(*),可以把gradeid为null的学生计算出来.

 

count(*) 和 count(1) 的区别

  • count(1),其实就是计算一共有多少符合条件的行

    1并不是表示第一个字段,而是表示一个固定值。

    其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1。

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

 

  • 他们之间根据不同情况会有些许区别,MySQL会对count(*)做优化。

    (1)如果列为主键,count(列名)效率优于count(1)

    (2)如果列不为主键,count(1)效率优于count(列名)

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

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

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

 

SUM()、AVG()、MAX()、MIN()

-- 计算所有成绩的总和
SELECT SUM(studentresult) FROM result
-- 计算所有成绩的平均分
SELECT AVG(studentresult) FROM result
-- 计算成绩的最大值、最小值
SELECT MAX(studentresult) AS 最大值,MIN(studentresult) AS 最小值 FROM result

标签:count,函数,--,mysql,笔记,Mysql,字符串,SELECT
From: https://www.cnblogs.com/wztblogs/p/16753549.html

相关文章

  • mysql8 navicat连接数据库报错
    一、报错场景mysql安装成功后,通过cmd连接mysql可以连接成功,但是通过navicat连接数据库时,报错。无法连接成功二、原因mysql8开始,数据库密码的加密方式发生变化。由原来的......
  • 元模板 笔记
    对类型编写,由于c++不存在if(type==xxx){}这种语法。类型计算可以使用:1,重载。2,虚函数。继承。3,c语言中利用Union查看代码structVariant{union{......
  • (五)MySQL基础继续--连接(join)
    昨天在说MySQL的分组(groupby)时,最后有提到为什么会多出来一行-->null,原来null表示所有人加起来的数。mysql>selectname,sum(scores)asscores_countfromteacherg......
  • <<程序员修炼之道:从小工到专家>>阅读笔记01
       <<程序员修炼之道:从小工到专家>>阅读笔记01第一章注重实效的哲学1.注重实效的程序员的特征:是他们处理问题、寻求解决方案时的态度、风格、哲学。设法把问题放......
  • C++ 自学笔记 Declaring references 引用
    引用:类型&Y=X;Y是X的另一个名字   pointersvsreferences(指针vs引用)(ps:引用就是用的const指针)  java:所有对象放在堆里只能用指针(不能计算用的const)访......
  • 【MySQL从入门到精通】【高级篇】(二十一)数据库优化步骤_查看系统性能参数
    文章目录​​1.简介​​​​2.数据库服务器的优化步骤​​​​3.查看系统性能参数​​​​总结​​1.简介上一篇文章我们介绍了哪些情况下适合创建索引,哪些情况下不适合......
  • 前端程序员学习 Golang gin 框架实战笔记之一开始玩 gin
    原文链接我是一名五六年经验的前端程序员,现在准备学习一下Golang的后端框架gin。以下是我的学习实战经验,记录下来,供大家参考。https://github.com/gin-gonic/gin1.......
  • 新概念第一册21~30单元学习笔记
    Chaptertwenty-one:Whichbook?#名词单数+特殊疑问DialogueGivemeabookplease,Jane#祈使句,动词原形开头Whichbook?#口语省略形式,原句是whichbookdoyouwant?T......
  • C++ 自学笔记 const
    const变量  const是变量不是常量 指针const写在*号后面       const函数可以构成重载 ......
  • MySQL主从同步
    MySQL主从同步1.主从同步的定义主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave)。......