前言
很多朋友都学习过数据库相关的操作,SQL作为访问和处理数据库的标准计算机语言,也有很多的函数方便我们调用。近期针对SQL中的函数进行了一次总结,特分享给大家。
SQL函数
SQL函数主要分为两大类,一类是基于计算的函数Aggregate函数,另一类是基于数据处理的Scalar函数。
其中基于计算的Aggregate函数主要是针对数据库中值得计算主要包含:平均值函数、最大值最小值函数、计算总和、计算总行数等一类函数。基于Scalar函数的函数主要是针对数据进行处理,例如:转大写、转小写、数据长度、格式化数据、字符串截取等相关函数。下面根据实际例子进行介绍。
本次将基于下表中信息进行函数的演示。
CREATE TABLE `goods` ( `id` int(11) NOT NULL AUTO_INCREMENT, `goods_name` varchar(255) DEFAULT NULL COMMENT '商品名称', `price` decimal(10,2) DEFAULT NULL COMMENT '单价', `discount` decimal(10,2) DEFAULT NULL COMMENT '优惠', `freight` decimal(10,2) DEFAULT NULL COMMENT '运费', `goods_num` int(11) DEFAULT NULL COMMENT '商品数量', `class_type` varchar(100) DEFAULT NULL COMMENT '商品类型 文体用品 服饰', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='商品信息表';
测试数据截图如下:
Aggregate函数
MAX()
MAX() 函数的作用MAX()函数返回满足条件的列中的最大值,其中null是不参与计算的。
MAX() 函数的语法SELECT MAX(列名称) FROM 表名 WHERE 查询条件;
MAX() 函数的示例查询商品表中分类为“文体用品”的最高价格是多少。查询SQL如下:
SELECT MAX(price) FROM goods WHERE class_type="文体用品";
MAX() 函数的执行结果查询商品表中分类为“文体用品”的最高价格是10元钱。
MIN()
MIN()函数的作用MIN()函数返回满足条件的列中的最小值,其中null是不参与计算的。
MIN()函数的语法SELECT MIN(列名称) FROM 表名 WHERE 查询条件;
MIN()函数的示例查询商品表中分类为“服饰”的最低价格是多少。查询SQL如下:
SELECT MIN(price) FROM goods WHERE class_type="服饰";
MIN()函数的执行结果查询商品表中分类为“服饰”的最低价格是30元。
SUM()
SUM()函数的作用SUM()函数主要作用是计算指定列的总和。
SUM()函数的语法SELECT SUM(列名称) FROM 表名 WHERE 查询条件;
SUM()函数的示例计算商品表中所有商品的单价总和是多少; 计算商品表中分类为“文体用品”的商品总价值。SQL如下:
-- 计算商品表中所有商品的单价总和是 SELECT SUM(price) FROM goods; -- 计算商品表中分类为“文体用品”的商品总价值 SELECT SUM(price*goods_num) FROM goods WHERE class_type="文体用品";
SUM()函数的执行结果计算商品表中所有商品的单价总和是323元
计算商品表中分类为“文体用品”的商品总价值225.00元。
AVG()
AVG()函数的作用AVG()函数的作用是返回满足条件的指定列的平均值。
AVG()函数的语法SELECT AVG(列名称) FROM 表名 WHERE 查询条件;
AVG()函数的示例查询商品表中类目为“文体用品”的商品售价平均值。
SELECT AVG(price) FROM goods WHERE class_type="文体用品";
AVG()函数的执行结果查询商品表中类目为“文体用品”的商品售价平均值为4.5元。
COUNT()
COUNT()函数的作用COUNT()函数是查询满足条件的总行数。
COUNT()函数的语法SELECT COUNT(*) FROM 表名 WHERE 查询条件;
COUNT()函数的示例查询商品表中所有在销售的商品种类数量。
SELECT COUNT(*) FROM goods;
COUNT()函数的执行结果查询商品表中所有在销售的商品种类数量是8件。
FIRST()
FIRST()函数的作用FIRST() 函数返回指定的字段中第一个记录的值。
FIRST()函数的语法SELECT FIRST(*) FROM 表名 WHERE 查询条件 ORDER BY 列名;
FIRST()函数的示例
SELECT FIRST(price) FROM goods WHERE class_type="服饰" ORDER BY id DESC;
LAST()
LAST()函数的作用LAST() 函数返回指定的字段中最后一个记录的值。
LAST()函数的语法SELECT LAST(*) FROM 表名 WHERE 查询条件 ORDER BY 列名;
LAST()函数的示例
SELECT LAST(price) FROM goods WHERE class_type="服饰" ORDER BY id DESC;
Scalar 函数
UCASE()
UCASE()函数的作用UCASE()函数作用是将满足条件的指定列的值转为大写。
UCASE()函数的语法SELECT UCASE(列名) FROM 表名 WHERE 条件;
UCASE()函数的示例将商品表中类目为“文体用品”的商品名称转为大写
SELECT UCASE(goods_name) FROM goods WHERE class_type="文体用品";
UCASE()函数的执行结果将商品表中类目为“文体用品”的商品名称转为大写执行结果
如下:
LCASE()
LCASE()函数的作用LCASE()函数作用是将满足条件的指定列的值转为小写。
LCASE()函数的语法SELECT LCASE(列名) FROM 表名 WHERE 条件;
LCASE()函数的示例将商品表中类目为“文体用品”的商品名称转为小写
SELECT LCASE(goods_name) FROM goods WHERE class_type="文体用品";
LCASE()函数的执行结果将商品表中类目为“文体用品”的商品名称转为小写,执行结果如下:
LENGTH()
LENGTH()函数的作用LENGTH()函数作用是输出满足条件的指定列的值的长度大小。需要注意的是有的数据库使用的函数是LEN()。
LENGTH()函数的语法SELECT LENGTH(列名) FROM 表名 WHERE 条件;
LENGTH()函数的示例将商品表中类目为“文体用品”的商品名称和商品名称值得长度查询出。
SELECT goods_name,LENGTH(goods_name) FROM goods WHERE class_type="文体用品";
LENGTH()函数的执行结果将商品表中类目为“文体用品”的商品名称和商品名称值得长度查询结果如下:
ROUND()
ROUND()函数的作用ROUND()的主要作用是对满足条件的某个数值字段进行指定小数位数的四舍五入
ROUND()函数的语法SELECT ROUND(列名,小数位数) FROM 表名 WHERE 条件;
ROUND()函数的示例将商品表中类目为“服饰”的商品名称和价格查询出来,并将价格保留三位小数。
SELECT goods_name,ROUND(price,3) FROM goods WHERE class_type="服饰";
ROUND()函数的执行结果将商品表中类目为“服饰”的商品名称和价格查询出来,并将价格保留三位小数。执行结果如下:
FORMAT()
FORMAT()函数的作用FORMAT()函数主要作用是对满足条件的指定列进行格式化显示。
FORMAT()函数的语法SELECT FORMAT(列名,格式) FROM 表名 WHERE 条件;
FORMAT()函数的示例使用DATE_FORMAT对商品表中的创建时间格式化显示为年-月-日的形式。
SELECT goods_name,price,DATE_FORMAT(create_time,'%Y-%c-%d') FROM goods
FORMAT()函数的执行结果使用DATE_FORMAT对商品表中的创建时间格式化显示为年-月-日的形式。结果如下:
NOW()
NOW()函数的作用NOW()函数的作用是返回当前系统的时间
NOW()函数的语法SELECT NOW();
NOW()函数的示例获取当时数据库的时间。
SELECT NOW();
NOW()函数的执行结果
SUBSTR()
SUBSTR()函数的作用SUBSTR()函数是将满足添加的指定列的数据按一定规则截取显示,部分数据库使用的是MID() 函数。
SUBSTR()函数的语法SELECT SUBSTR(列名,起始位置默认为1,返回的字符数可以为空) FROM 表名 WHERE 条件;
SUBSTR()函数的示例将商品表中类目为“文体用品”的商品名保留前两个字符输出显示。
SELECT goods_name,SUBSTR(goods_name,1,2) FROM goods WHERE class_type="文体用品";
SUBSTR()函数的执行结果将商品表中类目为“文体用品”的商品名保留前两个字符输出显示结果如下:
结语
好了,以上就是MySQL中常用函数的日常总结