MySQL SELECT

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

MySQL SELECT 语句简介

SELECT语句允许您从一个或多个表中选择数据。要在 MySQL 中编写SELECT语句,请使用以下语法:

SELECT select_list
FROM table_name;Code language: SQL (Structured Query Language) (sql)

在这个语法中:

  • 首先,在SELECT关键字后指定要从中选择数据的一列或多列。如果select_list有多列,需要用逗号( , )分隔。
  • 其次,在FROM关键字后指定要从中选择数据的表的名称。

分号 ( ; ) 是可选的。它表示语句的结束。如果有两条或更多语句,则需要使用分号( ;)分隔它们,以便MySQL单独执行每条语句。

SELECTFROM是关键字。按照惯例,SQL 关键字以大写形式书写。然而,这不是强制性的。由于 SQL 不区分大小写,因此您可以使用小写、大写等书写 SQL 语句,例如:

select select_list
from table_name;Code language: SQL (Structured Query Language) (sql)

当执行SELECT语句时,MySQL 在SELECT子句之前评估FROM子句:

MySQL选择

MySQL SELECT 语句示例

我们将在以下示例中使用示例数据库中的employees表。

employees表有八列:employeeNumber、lastName、firstName、extension、email、officeCode、reportsTo 和 jobTitle。该表也有很多行,如下图所示:

MySQL员工表

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

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

SELECT lastName
FROM employees;Code language: SQL (Structured Query Language) (sql)

试试看

这是部分输出:

+-----------+
| lastName  |
+-----------+
| Murphy    |
| Patterson |
| Firrelli  |
| Patterson |
| Bondur    |
| Bow       |
| Jennings  |
...
Code language: plaintext (plaintext)

SELECT语句的结果称为结果集,因为它是查询产生的一组行。

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

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

SELECT 
    lastName, 
    firstName, 
    jobTitle
FROM
    employees;Code language: SQL (Structured Query Language) (sql)

试试看

即使employees表有很多列, SELECT语句也会返回SELECT子句中指定的三列lastNamefirstNamejobTitle的数据:

+-----------+-----------+----------------------+
| lastname  | firstname | jobtitle             |
+-----------+-----------+----------------------+
| Murphy    | Diane     | President            |
| Patterson | Mary      | VP Sales             |
| Firrelli  | Jeff      | VP Marketing         |
| Patterson | William   | Sales Manager (APAC) |
| Bondur    | Gerard    | Sale Manager (EMEA)  |
...

Code language: plaintext (plaintext)

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

如果要从employees表的所有列中选择数据,可以在SELECT子句中指定所有列名,如下所示:

SELECT employeeNumber,
       lastName,
       firstName,
       extension,
       email,
       officeCode,
       reportsTo,
       jobTitle
FROM   employees; Code language: SQL (Structured Query Language) (sql)

或者,您可以使用星号 (*),它是所有列的简写。例如:

SELECT * 
FROM employees;Code language: SQL (Structured Query Language) (sql)

试试看

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

SELECT *通常称为“选择星号”或“全选”,因为它从表的所有列中选择数据。实际上,您应该仅将SELECT *用于即席查询。

如果您在PHPJavaPythonNode.js等代码中嵌入SELECT语句,则应显式指定要从中选择数据的列。

概括

  • 使用SELECT语句从表中选择数据。
  • 使用SELECT *从表的所有列中选择数据。
本教程有帮助吗?