数据库管理系统的一个最重要的功能就是数据查询,数据查询不仅是简单查询数据库中存储的数据,还更要对数据进行筛选,以及确定数据以怎样的格式显示。MySQL提供了功能强大、灵活的语句来实现这样操作,本项目将介绍如何使用SELECT语句查询数据表中的一列或多列数据、连接查询,子查询,以及使用Navicat生成查询等。
基本查询语句
MySQL从数据表中查询数据的基本语句为SELECT语句。SELECT语句的基本格式是。
SELECT
{* | <字段列表>}
[
FROM<表1>,<表2>...[WHERE<表达式>]
[GROUP BY<group by definition>]
[HAVING<expression>[{<operator><expression>}...]]
[ORDER BY<order by definition>]
[LIMIT[<offset>,]<row count>]
]
SELECT[字段1,字段2...,字段n]
FROM[表或视图]
WHERE[查询条件];
其中,各条字句的含义如下。
1、{* | <字段列表>}:包含星号通配符选择字段列表,表示查询的字段,其中字段列至少包含一个字段名称,如果要查询多个字段,多个字段之间用逗号隔开,最后一个字段不用加逗号。
2、FROM<表1>,<表2>...:表1和表2查询数据的来源,可以是单个或多个。
3、WHERE<表达式>:可选项,如果选择该项,将限定查询行必须满足的查询条件。
4、[GROUP BY<字段>]:该子句告诉MySQL如何显示查询出来的数据,并按照指定的字段分组。
5、[ORDER BY字段>]:该子句告诉MySQL该怎样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)、降序(DESC)。
6、[LIMIT[<offset>,]<row count>]:该子句告诉MySQL每次显示查询出来的数据条数数。
2、检索所有列
(1)在SELECT语句中使用星号(*)通配符查询所有字段。selec查询记录最简单的形式是从一个表中检索所有记录,实现的方法是使用星号(*)通配符指定查找所有列的名称。其语法格式为:
SELECT * FROM 表名;
(2)在select语句中指定所有字段。根据前面select语句的格式,select关键字后面的字段名为将要查找的数据,因此可以将表中所有字段的名称跟在select子句后面。有时候,由于表中的字段比较多,不一定记得所有字段的名称,因此该方法会很不方便,不建议使用,其语法格式为:
SELECT 字段1,字段2,...,字段n FROM 表名;
3、检索指定列
(1)检索单个字段。查询表中的某一个字段,语法格式为:
SELECT 字段名 FROM 表名;
(2)检索多个字段。要想从数据表中检索多个字段的数据,仍然使用相同的select语句,只需在关键字select后面指定要查找的多个字段的名称,不同字段名称之间用逗号(,)隔开,最后一个字段后面不需要加逗号,语法格式为:
SELECT 字段1,字段2,...,字段n FROM 表名;
有些情况,显示的字段名会很长,不能直观,可以指定字段别名替换字段或表达式,为字段定义别名的基本语法格式为:
字段名 [AS] 字段别名
其中字段名为表中字段定义的名称,字段别名为字段新的名称,AS关键字为可选参数。
注意,MySQL中的SQL语句时不区分大小写的,因此SELECT和select的作用是相同。
【任务4.2】查询时选择行
1、查询指定记录
数据库中包含大量的数据,根据用户需求,可能只需要查询表中的指定数据,即对数据进行过滤,在SELECT语句中,通过WHERE子句可以对数据进行过滤&#x