MySQL SELECT语句

时间:2019-11-20 08:52:03  来源:igfitidea点击:

简介:在本教程中,您将学习如何使用MySQL SELECT语句的基本形式从表中查询数据。

MySQL SELECT语句简介

SELECT语句使您可以从一个或多个表中读取数据。
要在MySQL中编写SELECT语句,请遵循以下语法:

SELECT select_list
FROM table_name;

让我们看一下语句的每个部分。

首先,从SELECT关键字开始。
关键字在MySQL中具有特殊含义。
在这种情况下,SELECT指示MySQL检索数据。

接下来,您有空间,然后是要在结果中显示的列或表达式的列表。

然后,您有了FROM关键字,空格和表名。

最后,您有了分号;在声明的末尾。

分号;是语句定界符。
它指定语句的结尾。
如果有两个或多个语句,请使用分号;分隔它们,以便MySQL分别执行每个语句。

在SELECT语句中,SELECT和FROM是关键字,用大写字母表示。
基本上,它只是关于格式化。
大写字母使关键字脱颖而出。

由于SQL不是区分大小写的语言,因此您可以使用小写形式编写关键字,例如select和from,代码仍将运行。

同样重要的是要注意FROM关键字在换行符上。
MySQL不需要这个。
但是,将FROM关键字放在新行上将使查询更易于阅读和维护。

在评估SELECT语句时,MySQL首先评估FROM子句,然后评估SELECT子句:

MySQL SELECT语句示例

我们将使用示例数据库中的表employee来演示如何使用SELECT语句:

员工表有八列:员工编号,姓氏,名字,分机号,电子邮件,办公代码,报告和职务。
它也有很多行,如下图所示:

A)使用MySQL SELECT语句从单列示例中检索数据

下面的示例使用SELECT语句选择所有雇员的姓氏:

SELECT lastName
FROM employees;

这是部分输出:

SELECT语句的输出称为结果或结果集,因为它是查询产生的一组数据。

B)使用MySQL SELECT语句从多个列查询数据的示例

下面的示例使用SELECT语句获取员工的名字,姓氏和职务:

SELECT 
    lastname, 
    firstname, 
    jobtitle
FROM
    employees;

即使雇员表有很多列,SELECT语句也只返回表中所有行的三列数据,如下图所示:

下图显示了结果集:

C)使用MySQL SELECT语句从所有列中检索数据的示例

如果要从employees表的所有列中检索数据,则可以在SELECT子句中指定所有列名。

或者您只使用星号(*)速记,如以下查询所示:

SELECT * 
FROM employees;

该查询从employees表的所有列中返回数据。

关于SELECT明星的注意事项

SELECT *通常称为"全选星标"或"全选",因为您从表中选择了所有数据。

最好将SELECT *仅用于自组网查询(ad-hoc query )。
如果将SELECT语句嵌入到PHP,Java,Python,Node.js等代码中,则由于以下原因,应显式指定要从中获取数据的列的名称:

  • SELECT *从您可能不使用的列返回数据。
    它在MySQL数据库服务器和应用程序之间产生不必要的I / O磁盘和网络流量。

  • 当您明确指定列名时,结果集是可预测的,并且易于管理。
    但是,如果使用SELECT *,并且有人通过添加更多列来更改表,则最终结果集将与您期望的结果集不同。

  • 使用SELECT *可能会将敏感信息暴露给未经授权的用户。

在本教程中,您学习了如何使用基本的MySQL SELECT语句从单个表中查询数据。