admin 管理员组

文章数量: 1184232


2024年2月29日发(作者:transient名词)

龙源期刊网

MySQL数据库中group by语句与update语句的用法研究

作者:孙曼曼

来源:《传播力研究》2019年第27期

摘要:本论文以MySQL数据库为实验环境,讨论当数据进行查询、修改时会遇到的一些问题,并给出具体的解决方案。本论文中主要讨论的语句有group by语句、update语句。

关键词:MySQL数据库;group by语句;update语句

MySQL遵循SQL查询的基本语法,但在某些细节方面还是与基本语法有所区别。下面讨论在数据查询、修改中遇到的问题,主要涉及到的语句有group by语句、update语句。

一、MySQL数据库中group ;by语句的用法

Group by语句的作用是对数据进行分组。

(一)语法

select ;列名1,列名2,......,聚合函数(列名)

from ;表名

[.]

group by ;列名1,列名2,......

(二)语法说明

1. group by ;子句指定按照哪些列进行分组。

2.可以按照一列进行分组,也可以按照多列进行分组。按多列分组时,各列名之间用逗号分隔。

3.在使用group by子句时,select子句中的任意一列要么包含在聚合函数中,要么必须在group by子句中出现过。

(三)实例

龙源期刊网

要求从teacher表中,查詢各个系男、女教师的人数,其中teacher表的关系模式如下所示:teacher(tno, tname, cno, sal, dname, tsex, tage)

select ;dname, tsex, count (*) as人数

from ;teacher

group by ;dname, tsex

order by ;dname

(四)实际应用用遇到的问题

MySQL中的group by在应用过程中并没有严格的遵守:使用group by 子句时,select子句中的任意一列要么包含在聚合函数中,要么必须在group by中出现过。

例如:我们将上例做如下修改:

select ;tage, dname, tsex, count (*) as 人数

from ;teacher

group by ;dname, tsex

order by ;dname

分析:Select子句中的tage并没有出现在group by子句中,也没有包含在聚合函数内,但是该查询语句仍能执行并查出结果,系统并没有提示语法错误。虽然语句正常执行了,但是所查出的数据tage并没有实际的意义。

在实际应用中建议遵循:使用group by时,select子句中的任意一列要么包含在聚合函数中,要么必须在group by中出现过。

二、MySQL数据库中update语句的用法

(一)语法

update ; 表名

set ; ; ; ; 列1=值1,

龙源期刊网

列2=值2,

.........

[where ;………]

(二)实例

要求将所有教师的年龄增加1岁,同时给所有教师的工资增加10%。

update ;teacher

set ; ; ; ;age=age+1,

sal=sal*1.1

(三)实际应用出现的问题

要求:当男教师的工资低于所有男教师的平均工资时,将该男教师的工资提高5%。

参考答案如下:

update ;teacher

set ;sal=sal*1.05

where ;tsex='男'and ;sal<(select avg(sal)from teacher where tsex='男')

分析:在MySQL中执行这条语句,系统提示错误。出现该错误的原因是:在MySQL中,在同一条查询语句中不能直接从某表中查出数据再更新或删除本表中的数据。

修改方法如下:

update ;teacher

set ;sal=sal*1.05

where ;tsex='男'

and

sal<(select sal

龙源期刊网

from(select ;avg(sal)as ;sal

from ;teacher

where tsex='男')t)

三、结论

在MySQL数据中使用group by子句时,select子句中的任意一列要么包含在聚合函数中,要么必须在group by子句中出现过;在使用update语句时,在同一条查询语句中不能直接从某表中查出数据再修改本表中的数据。

参考文献:

[1]王丽娟,靳继红.基于MySQL的查询优化技术研究[J].电脑知识与技术,2017(30).

[2]詹重咏.MySQL数据库中数据导入与导出探析[J].数字技术与应用,2017(12).

[3]刘阳娜.大数据下的MySQL数据库的效率优化[J].信息通信,2017(12).

[4]俞海.ORACLE/MYSQL数据库比较应用教学法综述[J].电脑知识与技术,2017(33).


本文标签: 数据 语句 教师 查询 应用