如何编写带有示例的 MySQL SELECT 语句?它用于从数据库中的一个或多个表中检索数据。为了解释 SELECT 语句,我们将使用随安装提供的 world 数据库。
SELECT 语句语法可以写成
-- Syntax SELECT [ColumnName1], [ColumnName2]....,[ColumnNameN] FROM Source;
- 列名:根据需求从表中选择列。可以是一个或多个。
- 来源:从数据库中选择一个或多个表。JOIN 用于连接多个表。
MySQL SELECT 语句示例
您可以使用 SELECT 语句检索行而不引用。例如,以下语句将返回 2 作为输出。
SELECT 1+1;
在上述情况下,MySQL 允许您使用 DUAL 作为虚拟表名。这只是一个选项。
SELECT 1+1 FROM DUAL;

MySQL SELECT * 所有列
在此示例中,我们将使用星号 (*) 选择 country 表中所有存在的列。在 SELECT 语句中,* 是表示源表中所有可用列的快捷方式。请记住,USE world 将把默认数据库更改为 world。
USE world; SELECT * FROM country;
或者您也可以尝试在表名前使用模式名。
SELECT * FROM world.country;

即使您想检索表中所有列,也请不要在实际情况中使用 SELECT * FROM 语句。
MySQL SELECT * 语句的问题
- 它从指定的表中检索所有列。大多数情况下,我们并不需要所有列。
- 它以默认顺序检索列。有时我们可能需要在显示列时更改列的顺序。
- 如果对底层表进行任何更改(重新排序列、添加或删除列),将不会反映使用 * 创建的视图。
理想的方法是将所有(或所需)列名放在 SELECT 关键字之后。例如,上述语句可以重写为
USE world;
SELECT Code, Name, Continent, Region,
SurfaceArea, IndepYear, Population, LifeExpectancy,
GNP, GNPOld, LocalName, GovernmentForm,
HeadOfState, Capital, Code2
FROM country;

MySQL SELECT 语句选择部分列
在实际中,选择表中所有现有列的情况并不常见。这是因为会有一些列,例如 ID、条形码、修改日期、行 GUID、照片等,这些列可能不需要。
为此,SELECT 语句允许我们从表中选择少量或任何特定列。我们可以通过放置所需的列名,后跟关键字来完成此操作。
USE world;
SELECT Name,
Continent,
Region,
SurfaceArea,
Population
FROM country;

注意:如果您忘记在列之间放置逗号,它会将第二列视为第一列的别名。所以,请务必小心。
使用 Workbench GUI 的 MySQL SELECT 语句
如果您不了解语法或不想编写查询,则可以使用 Workbench Intellisense 为您编写 SELECT 语句。
为此,首先导航到所需的数据库(在架构下)并选择所需的表。右键单击表将打开带有不同选项的上下文菜单。请选择“选择行 - 限制 1000”。这里的限制值取自查询窗口

此选项将为我们生成 SELECT 语句。

注意:如果您想查看所有记录,请将查询窗口中“限制 1000 行”更改为“不限制”选项。
MySQL Select 语句命令行示例
在此示例中,我们将在命令行中编写一个 select 语句,以从 country 表中选取几列。
SELECT Code, Name, Continent, Region,
SurfaceArea, Population, Capital
FROM country;

需要记住的要点
- 它返回表中所有存在的记录。如果您想限制行,请使用 WHERE 子句。
- 请避免使用 SELECT * 来选择所有列名。
- 使用 JOINS 从多个表中操作。