MySQL SELECT 语句示例

SELECT 查询是什么 MySQL?

SELECT QUERY 用于从 MySQL 数据库。数据库存储数据以供日后检索。数据库的目的是 MySQL 选择是从数据库表中返回符合给定条件的一行或多行。选择查询可以在脚本语言(如 PHP、Ruby)中使用,也可以通过命令提示符执行。

SELECT 查询 MySQL

SQL SELECT 语句语法

它是最常用的 SQL 命令,具有以下一般语法

SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)]  [HAVING condition] ORDER BY fieldName(s)

点击这里

  • 选择 是让数据库知道您想要检索数据的 SQL 关键字。
  • [独特 | 全部] 是可选关键字,可用于微调 SQL SELECT 语句返回的结果。如果未指定任何内容,则默认为 ALL。
  • {*| [字段表达式 [AS newName]} 至少必须指定一个部分,“*”从指定的表名中选择了所有字段,fieldExpression 对指定的字段执行一些计算,例如将数字相加或将两个字符串字段合并为一个。
  • tableName 是强制性的,必须至少包含一个表,多个表必须使用逗号分隔或使用 JOIN 关键字连接。
  • condition 是可选的,它可用于指定查询返回的结果集中的条件。
  • 通过...分组 用于将具有相同字段值的记录放在一起。
  • HAVING 条件用于在使用 GROUP BY 关键字工作时指定条件。
  • ORDER BY 用于指定结果集的排序顺序。

*

星号用于选择表中的所有列。下面是一个简单的 SELECT 语句的示例。

SELECT * FROM `members`;

上述语句从成员表中选择所有字段。分号是语句终止符。这不是强制性的,但以这种方式结束语句被认为是一种良好做法。

实际例子

点击下载 用于实际示例的 myflix DB。

您可以学习如何将.sql文件导入 MySQL 工作台

示例在以下两个表上执行

表1: 成员

会员号码 全名 性别 出生日期 实际地址 邮寄地址 联系电话 email
1 珍妮特琼斯 (女) 21-07-1980 第一街 4 号地块 私人包 0759 253 542 janetjones@yagoo.cm
2 珍妮特·史密斯·琼斯 (女) 23-06-1980 梅尔罗斯 123 jj@fstreet.com
3 罗伯特·菲尔 (男) 12-07-1989 第三街 3 12345 rm@tstreet.com
4 格洛丽亚·威廉姆斯 (女) 14-02-1984 第二街 2

表2: 电影

电影 ID 标题 导向器 发行年份 类别编号
1 加勒比海盗4 罗伯·马歇尔 2011 1
2 忘掉莎拉·马歇尔 尼古拉斯·斯托勒 2008 2
3 X-战警 2008
4 代号 黑色 埃德加·吉姆斯 2010
5 爸爸的小女孩 2007 8
6 天使与魔鬼 2007 6
7 达芬奇密码 2007 6
9 Honey 月球人 约翰舒尔茨 2005 8
16 67% 有罪 2012

获取会员列表

假设我们想从数据库中获取所有已注册图书馆成员的列表,我们将使用下面显示的脚本来执行此操作。

SELECT * FROM `members`;

在以下位置执行上述脚本 MySQL 工作台产生以下结果。

会员号码 全名 性别 出生日期 实际地址 邮寄地址 联系电话 email
1 珍妮特琼斯 (女) 21-07-1980 第一街 4 号地块 私人包 0759 253 542 janetjones@yagoo.cm
2 珍妮特·史密斯·琼斯 (女) 23-06-1980 梅尔罗斯 123 jj@fstreet.com
3 罗伯特·菲尔 (男) 12-07-1989 第三街 3 12345 rm@tstreet.com
4 格洛丽亚·威廉姆斯 (女) 14-02-1984 第二街 2

我们上面的查询返回了成员表中的所有行和列。

假设我们只想获取全名、性别、物理地址和电子邮件字段。以下脚本将帮助我们实现这一点。

SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;

在以下位置执行上述脚本 MySQL 工作台产生以下结果。

全名 性别 实际地址 email
珍妮特琼斯 (女) 第一街 4 号地块 janetjones@yagoo.cm
珍妮特·史密斯·琼斯 (女) 梅尔罗斯 123 jj@fstreet.com
罗伯特·菲尔 (男) 第三街 3 rm@tstreet.com
格洛丽亚·威廉姆斯 (女) 第二街 2

获取电影列表

记住,在上面的讨论中,我们提到了在 SELECT 语句中使用的表达式。假设我们想从数据库中获取电影列表。我们希望在一个字段中包含电影名称和电影导演的姓名。电影导演的姓名应放在括号中。我们还想获取电影上映的年份。以下脚本可帮助我们做到这一点。

SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;

点击这里

  • 连接 () MySQL 函数用于将列值连接在一起。
  • 行“Concat (`title`, ' (', `director`, ')') 获取标题,添加一个左括号,后跟导演的名字,然后添加右括号。

在 Concat () 函数中,字符串部分使用逗号分隔。

在以下位置执行上述脚本 MySQL 工作台产生以下结果集。

连接(‘title’,‘(’,‘director’,’)’) 发行年份
加勒比海盗4(罗伯·马歇尔) 2011
忘掉莎拉·马歇尔(尼古拉斯·斯托勒) 2008
2008
代号黑色(埃德加·吉姆兹) 2010
2007
2007
2007
Honey 月球人(约翰·舒尔茨) 2005
2012

别名字段名称

上面的示例返回了连接代码作为结果的字段名称。假设我们想在结果集中使用更具描述性的字段名称。我们将使用列别名来实现这一点。以下是列别名的基本语法

SELECT `column_name|value|expression` [AS] `alias_name`;

点击这里

  • “选择`列名称|值|表达式`” 是常规的 SELECT 语句,可以是列名、值或表达式。
  • “[作为]” 是别名之前的可选关键字,表示将返回表达式、值或字段名称。
  • “别名” 是我们想要在结果集中作为字段名称返回的别名。

上述查询具有更有意义的列名

SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;

我们得到以下结果

康卡特 发行年份
加勒比海盗4(罗伯·马歇尔) 2011
忘掉莎拉·马歇尔(尼古拉斯·斯托勒) 2008
2008
代号黑色(埃德加·吉姆兹) 2010
2007
2007
2007
Honey 月球人(约翰·舒尔茨) 2005
2012

获取显示出生年份的会员列表

假设我们想要获取显示会员编号、全名和出生年份的所有会员的列表,我们可以使用 LEFT 字符串函数从出生日期字段中提取出生年份。下面显示的脚本可以帮助我们做到这一点。

SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;

点击这里

  • “LEFT(`出生日期`,4)” 这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 LEFT 字符串函数 接受出生日期作为参数,并且仅返回左边 4 个字符。
  • “AS `出生年份`”列别名 这将在我们的结果中返回。注意 AS 关键字是可选的,您可以将其省略,查询仍然有效。

在以下位置执行上述查询 MySQL 针对 myflixdb 的工作台为我们提供了如下所示的结果。

会员号码 全名 出生年份
1 珍妮特琼斯 1980
2 珍妮特·史密斯·琼斯 1980
3 罗伯特·菲尔 1989
4 格洛丽亚·威廉姆斯 1984

SQL 使用 MySQL 工作台

我们现在要使用 MySQL 工作台生成脚本,该脚本将显示类别表中的所有字段名称。

1. 右键单击​​类别表。单击“选择行 - 限制 1000”

2. MySQL workbench 将自动创建一个 SQL 查询并粘贴到编辑器中。

3. 查询结果显示

SQL 使用 MySQL 工作台

请注意,我们自己并没有编写 SELECT 语句。 MySQL 工作台为我们生成了它。

为什么使用 SELECT SQL 命令 MySQL 工作台?

现在,你可能会想,既然你可以简单地使用如下工具,为什么还要学习 SQL SELECT 命令来从数据库中查询数据呢? MySQL 无需了解 SQL 语言,也可以使用 Workbench 获得相同的结果。当然这是可能的,但是 学习如何使用 SELECT 命令 为您提供更多 灵活性控制 在你的 SQL SELECT 语句.

MySQL 工作台属于“示例查询” QBE 工具。它旨在帮助更快地生成 SQL 语句,以提高用户的工作效率。

学习 SQL SELECT 命令可以让你创建 复杂查询 这些无法通过示例查询实用程序轻松生成,例如 MySQL 工作台。

为了提高生产力,您可以 使用生成代码 MySQL 工作台 然后 定制满足您的要求。只有当您理解 SQL 语句的工作原理时才会发生这种情况!

MySQL SELECT 语句示例

结语

  • SQL SELECT 关键字用于从数据库中查询数据,它是最常用的命令。
  • 最简单的形式的语法是“SELECT * FROM tableName;”
  • 表达式也可以在 select 语句中使用。例如“SELECT 数量 + 价格 FROM Sales”
  • SQL SELECT 命令还可以有其他可选参数,例如 WHERE、GROUP BY、HAVING、ORDER BY。它们将在后面讨论。
  • MySQL workbench可以帮助开发SQL语句,执行它们并在同一个窗口中产生输出结果。