MySQL数据库中groupby语句与update语句的用法研究
发布时间:2022-11-30 15:29:48
龙源期刊网http://www.qikan.com.cn
MySQL数据库中groupby语句与update语句的用法研究
作者:孙曼曼
来源:《传播力研究》2019年第27期
摘要:本论文以MySQL数据库为实验环境,讨论当数据进行查询、修改时会遇到的一些问题,并给出具体的解决方案。本论文中主要讨论的语句有groupby语句、update语句。关键词:MySQL数据库;groupby语句;update语句
MySQL遵循SQL查询的基本语法,但在某些细节方面还是与基本语法有所区别。下面讨论在数据查询、修改中遇到的问题,主要涉及到的语句有groupby语句、update语句。一、MySQL数据库中group;by语句的用法Groupby语句的作用是对数据进行分组。(一)语法
select;列名1,列名2,......,聚合函数(列名)from;表名[where.........]
groupby;列名1,列名2,......(二)语法说明
1.groupby;子句指定按照哪些列进行分组。
2.可以按照一列进行分组,也可以按照多列进行分组。按多列分组时,各列名之间用逗号分隔。
3.在使用groupby子句时,select子句中的任意一列要么包含在聚合函数中,要么必须在groupby子句中出现过。(三)实例
龙源期刊网http://www.qikan.com.cn
要求从teacher表中,查詢各个系男、女教师的人数,其中teacher表的关系模式如下所示:teacher(tno,tname,cno,sal,dname,tsex,tage)select;dname,tsex,count(*)as人数from;teacher
groupby;dname,tsexorderby;dname
(四)实际应用用遇到的问题
MySQL中的groupby在应用过程中并没有严格的遵守:使用groupby子句时,select子句中的任意一列要么包含在聚合函数中,要么必须在groupby中出现过。例如:我们将上例做如下修改:
select;tage,dname,tsex,count(*)as人数from;teacher
groupby;dname,tsexorderby;dname
分析:Select子句中的tage并没有出现在groupby子句中,也没有包含在聚合函数内,但是该查询语句仍能执行并查出结果,系统并没有提示语法错误。虽然语句正常执行了,但是所查出的数据tage并没有实际的意义。
在实际应用中建议遵循:使用groupby时,select子句中的任意一列要么包含在聚合函数中,要么必须在groupby中出现过。二、MySQL数据库中update语句的用法(一)语法update;表名set;;;;列1=值1,
龙源期刊网http://www.qikan.com.cn
列2=值2,.........
[where;………](二)实例
要求将所有教师的年龄增加1岁,同时给所有教师的工资增加10%。update;teacherset;;;;age=age+1,sal=sal*1.1