MySQL函数

Posted C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL函数相关的知识,希望对你有一定的参考价值。

  在此,先准备测试数据,代码如下:
  
  -- 创建数据库
  
  DROP DATABASE IF EXISTS mydb;
  
  CREATE DATABASE mydb;
  
  USE mydb;
  
  -- 创建student表
  
  CREATE TABLE student (
  
  sid CHAR(6),
  
  sname VARCHAR(50),
  
  age INT,
  
  gender VARCHAR(50) DEFAULT \'male\'
  
  );
  
  -- 向student表插入数据
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1001\', \'lili\', 14, \'male\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1002\', \'wang\', 15, \'female\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1003\', \'tywd\', 16, \'male\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1004\', \'hfgs\', 17, \'female\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1005\', \'qwer\', 18, \'male\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1006\', \'zxsd\', 19, \'female\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1007\', \'hjop\', 16, \'male\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1008\', \'tyop\', 15, \'female\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1009\', \'nhmk\', 13, \'male\');
  
  INSERT INTO student (sid,sname,age,gender) VALUES (\'S_1010\', \'xdfv\', 17, \'female\');
  mysql安装:http://down.cuohei.com/
  1.聚合函数
  
  在开发中,我们常常有类似的需求:统计某个字段的最大值、最小值、 平均值等等。为此,MySQL中提供了聚合函数来实现这些功能。所谓聚合,就是将多行汇总成一行;其实,所有的聚合函数均如此——输入多行,输出一行。聚合函数具有自动滤空的功能,若某一个值为NULL,那么会自动将其过滤使其不参与运算。
  
  聚合函数使用规则:
  
  只有SELECT子句和HAVING子句、ORDER BY子句中能够使用聚合函数。例如,在WHERE子句中使用聚合函数是错误的。
  
  接下来,我们学习常用聚合函数。
  
  1.1、count()
  
  统计表中数据的行数或者统计指定列其值不为NULL的数据个数
  
  查询有多少该表中有多少人
  
  MySQL命令:
  
  select count(*) from student;
  
  1.2、max()
  
  计算指定列的最大值,如果指定列是字符串类型则使用字符串排序运算
  
  查询该学生表中年纪最大的学生
  
  MySQL命令:
  
  select max(age) from student;
  
  1.3、min()
  
  计算指定列的最小值,如果指定列是字符串类型则使用字符串排序运算
  
  查询该学生表中年纪最小的学生 MySQL命令:
  
  select sname,min(age) from student;
  
  1.4、sum()
  
  计算指定列的数值和,如果指定列类型不是数值类型则计算结果为0
  
  查询该学生表中年纪的总和 MySQL命令:
  
  select sum(age) from student;
  
  1.5、avg()
  
  计算指定列的平均值,如果指定列类型不是数值类型则计算结果为
  
  查询该学生表中年纪的平均数 MySQL命令:
  
  select avg(age) from student;
  
  2.其他常用函数
  
  这里我就不一一举例了,基本混个眼熟,以后用到再细说
  
  2.1、时间函数
  
  SELECT NOW();
  
  SELECT DAY (NOW());
  
  SELECT DATE (NOW());
  
  SELECT TIME (NOW());
  
  SELECT YEAR (NOW());
  
  SELECT MONTH (NOW());
  
  SELECT CURRENT_DATE();
  
  SELECT CURRENT_TIME();
  
  SELECT CURRENT_TIMESTAMP();
  
  SELECT ADDTIME(\'14:23:12\',\'01:02:01\');
  
  SELECT DATE_ADD(NOW(),INTERVAL 1 DAY);
  
  SELECT DATE_ADD(NOW(),INTERVAL 1 MONTH);
  
  SELECT DATE_SUB(NOW(),INTERVAL 1 DAY);
  
  SELECT DATE_SUB(NOW(),INTERVAL 1 MONTH);
  
  SELECT DATEDIFF(\'2019-07-22\',\'2019-05-05\');
  
  2.2、字符串函数
  
  --连接函数
  
  SELECT CONCAT ()
  
  --
  
  SELECT INSTR ();
  
  --统计长度
  
  SELECT LENGTH();
  
  2.3、数学函数
  
  -- 绝对值
  
  SELECT ABS(-136);
  
  -- 向下取整
  
  SELECT FLOOR(3.14);
  
  -- 向上取整
  
  SELECT CEILING(3.14);

以上是关于MySQL函数的主要内容,如果未能解决你的问题,请参考以下文章

mysql的decode函数

MySQL函数的其他函数

在mysql中自定义的函数怎么调用

关于mysql的PASSWORD函数

MySQL函数MySQL 5.5从零开始学第六章

Mysql单行函数