目录

  • 检索单个列
  • 检索多个列
  • 检索所有列
  • 检索不同的行
  • 限制结果



上节介绍了如何连接和登录MySQL,如何执行MySQL语言,获取数据库和表的信息。这节将介绍MySQL中最重要的部分,检索数据,可以说MySQL中select关键字的用的比例占90%以上,所以说学习好select关键字是非常重要的。它的用途是从一个或多个表中检索信息。

检索单个列

SELECT prod_name
FROM products;

例:上述语句利用SELECT 语句从products 表中检索一个名为prod_name的列。所需的列名在SELECT关键字之后给出,FROM关键字指出从其中检索数据的表名。此语句的输出如下所示:
如上的一条简单SELECT语句将返回表中所有行。数据没有过滤(过滤将得出结果集的一个子集),也没有排序。

检索多个列

SELECT prod_id,prod_name,prod_price
FROM products;

例:上述语句利用SELECT 语句从products 表中检索名为prod_id,prod_name,prod_price的列。所需的列名在SELECT关键字之后给出,列名之间必须用逗号分隔。FROM关键字指出从其中检索数据的表名。如上的一条简单SELECT语句将返回表中所有行。数据没有过滤(过滤将得出结果集的一个子集),也没有排序。

检索所有列

SELECT *
FROM products;

如果给定一个通配符(*),则返回表中所有列。列的顺序一般是列在表定义中出现的顺序。但有时候并不是这样的,表的模式的变化(如添加或删除列)可能会导致顺序的变化。但是使用通配符检索的效率很低,如果不是必要不要使用通配符。下面只列出部分数据。

mysql在库中搜索特定的值 mysql 搜索一条数据_mysql在库中搜索特定的值

检索不同的行

SELECT DISTINCT vend_id 
FROM products;

SELECT DISTINCT vend_id告诉MySQL只返回不同(唯一)的vend_id行,因此只返回4行,如下面的输出所示。如果使用DISTINCT关键字,它必须直接放在列名的前面。

mysql在库中搜索特定的值 mysql 搜索一条数据_mysql_02

限制结果

SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为
了返回第一行或前几行,可使用LIMIT子句。

SELECT prod_name
FROM products
LIMIT 5;

此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回

不多于5行。此语句的输出如下所示:

mysql在库中搜索特定的值 mysql 搜索一条数据_mysql_03