摘要:在本教程中,您将学习如何使用 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单独执行每条语句。
SELECT
和FROM
是关键字。按照惯例,SQL 关键字以大写形式书写。然而,这不是强制性的。由于 SQL 不区分大小写,因此您可以使用小写、大写等书写 SQL 语句,例如:
select select_list
from table_name;
Code language: SQL (Structured Query Language) (sql)
当执行SELECT
语句时,MySQL 在SELECT
子句之前评估FROM
子句:
MySQL SELECT 语句示例
我们将在以下示例中使用示例数据库中的employees
表。

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

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
子句中指定的三列lastName
、 firstName
和jobTitle
的数据:
+-----------+-----------+----------------------+
| 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 *
用于即席查询。
如果您在PHP 、 Java 、 Python 、 Node.js等代码中嵌入SELECT
语句,则应显式指定要从中选择数据的列。
概括
- 使用
SELECT
语句从表中选择数据。 - 使用
SELECT *
从表的所有列中选择数据。