龙空技术网

产品操作MySQL第5篇 – 数据查询-SELECT

杨呀 198

前言:

如今你们对“mysql查询每个班有多少人”可能比较着重,同学们都需要了解一些“mysql查询每个班有多少人”的相关知识。那么小编在网摘上搜集了一些关于“mysql查询每个班有多少人””的相关内容,希望朋友们能喜欢,看官们快快来了解一下吧!

MYSQL

本资料为产品岗位作为日常工作参考,语言口语化

At 2019/4/22 By David.Yang

普通查询(使用简单的SELECT语句来查询单个表中的数据)

SELECT语句用来从数据库中进行数据查询并返回,

Excel表格我们在构建时有【行】与【列】,

一行在我们的理解下是一行数据,一列是相同属性的一组数据,

多条行数据或者多列数据是一个集合,

在数据库中使用SELECT的到的结果我们称之为结果集,

他是一个行的列表,每行有相同数量的列组成。

比如我们获得了10条学生记录,这是一个查询的结果集,

他有4列:学号、名称、性别、年龄。

SELECT语句可以空值需要查询哪些行和列。

比如业务需求上只需要学号、姓名、年龄就行了,

或者只想看大侠班的同学的信息,SELECT可以控制提供给你你想看到的维度。

语法:

SELECT

column_1, column_2, ...

FROM

table_1

[INNER | LEFT |RIGHT] JOIN table_2 ON conditions

WHERE

conditions

GROUP BY column_1

HAVING group_conditions

ORDER BY column_1

LIMIT offset, length;

SELECT语句由以下列表中所述的几个子句组成:

- SELECT 之后接逗号(,)分割需要查询的数据的列,或星号(*),表示要返回所有数据的列。

- FROM 指定要查询数据的数据表或视图。

- JOIN 根据某些连接条件从其他表中获取数据,涉及多数据表联合查询使用。

- WHERE 过滤结果集中的行,有条件对数据进行查询。

- GROUP BY 将一组行组合成小分组,并对每个小分组应用聚合函数。

- HAVING 过滤器基于GROUP BY子句定义的小分组。

- ORDER BY 指定用于排序的列的列表。

- LIMIT限制返回行的数量。

语句中的SELECT和FROM语句是必须的,其他部分是可选的。

本篇对SELECT进行讲解,其他子语句将分批讲解。

SELECT语句演示

让数据库给你想要的数据列

语法当中说到过,SELECT支持通过引文逗号(,)开分割需要查询数据的列,

比如我们只想查看学生的学号、姓名、性别、年龄

SQL

SELECT

number,name,gender,age

FROM

students;

我们看看学生表原始有哪些数据列:

SQL

show createtable students;

尽管我们定义了很完整的数据列,但是业务上只需要学号、姓名、性别、年龄,

所以通过SELECT控制我们的数据库也只返回了我们所需要的数据列,

真乖~

让数据库给你所有数据列

下面我们看一下SELECT后数据列控制发生一点变化,

会有什么结果?

SQL

SELECT * FROM students;

数据库把所有的数据列都返回来了。

这是因为我们告诉了数据库,我想要列出数据的所有列,

怎么告诉他的呢?

我们在SELECT后面用星号(*)代替了逗号(,),

所以产生了以上的查询结果。

注:

ϒ 使用星号(*)会返回所有数据列,但也包括了你不需要的数据列。这回在数据库服务器造成不必要的磁盘I/O,在数据库和应用程序间也会带来不必要的网络流量传递

ϒ 使用星号(*)会造成意外的敏感数据暴露

ϒ 返回所有数据列会给你带来意外的结果集管理麻烦。如果数据表有数量较多的数据列,查询的结果都列出来对你来说数据查看也是个负担

到此应该已经帮助你熟悉了数据库的查询语法,你可以上手实操一把查询的体验了。

标签: #mysql查询每个班有多少人