第四章 检索数据

119 阅读2分钟

[TOC]

第四章 检索数据

4.1 SELECT 语句

 select语句的用途是从一个或多个表中检索信息。为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。

4.2 检索单个列

SELECT prod_name FROM products ;

输入图片说明

 上述代码检索出的数据将返回表中所有行,数据没有过滤,也没有排序,后面会讲到

建议:对于每一条SQL语句都以分号(;)结束。另外,SQL语句不区分大小写,但是按照惯例,习惯将SQL关键字大写,而对所有表和列名进行小写

4.3 检索多个列

SELECT id,prod_name,prod_price FROM products;

输入图片说明

 在select关键字后面给出多个列名(列名之间必须逗号隔开),实现从单个表检索多个列的目的。

4.4 检索所有列(*)

SELECT * FROM products;

输入图片说明

 使用 * 通配符来返回表中所有的列。使用 * 通配符会降低检索和应用程序性能,所以实际开发中不建议使用,但是,可以用其发现未知列名

4.5 检索不同行(DISTINCT)

SELECT DISTINCT prod_price FROM products ;

输入图片说明

 使用DISTINCT关键字指示MySQL只返回不同的值。如果使用DISTINCT关键字,则必须直接放在列名前面注意: 不能部分使用DISTINCT,DISTINCT关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT prod_price,prod_name ,除非这两个列都不同,否则所有行都将会被检索出来

4.6 限制结果(LIMIT)

SELECT  prod_name,prod_price FROM products  LIMIT 2;

输入图片说明

 LIMIT 2 指示MySQL返回不多于2行

SELECT  prod_name,prod_price FROM products  LIMIT 2 2;

 LIMIT 2 2 指示MySQL返回从行5开始的5行。第一个数为开始的位置,第二个数为要检索的行数

带一个值的LIMIT总是从第一行开始,给出的数为返回的行数。带两个值的LIMIT可以指定从行号为第一个值的位置开始。

SELECT  prod_name,prod_price FROM products  LIMIT 3  OFFSET 4;

 limit 3 offset 4 表示从行4取3行,作用同 limit 4 3

4.7 使用完全限定的表名

 通过列名或者完全限定的名字(同时使用表名和列字)都可以引用列。表名也可以使用完全限定名字