MySQL之检索数据-SELECT语句

本次内容,我们将学习总结如何使用SELECT语句从表中检索一个或多个数据列。

1.检索单个列

如上一条简单的SELECT语句将返回表中所有行。数据灭有过滤(过滤将得出结果集的一个子集),也没有排序。

(2)结束SQL语句:多条SQL语句必须以分号(;)分隔。MySQL如同多数DBMS一样,不需要在单条SQL语句后加分号。但特定的DBMS可能必须在单条SQL语句后加上分号。如果你使用的是mysql命令行,必须加上分号来结束SQL语句。

(3)SQL语句和大小写:SQL不区分大小写,因此SELECT和select是相同的。许多开发人员喜欢对所有SQL关键字使用大写,而对所有列和表使用小写,这样做使代码更易于阅读和调试。

2.检索多个列

要想从一个表中检索多个列,使用相同的SELECT语句。唯一不同的是在SELECT关键字后给出多个列名,列名间必须用逗号分隔。

3.检索所有列

除了指定所需的列外,SELECT语句还可以检索所有的列而不必逐个列出它们。这可以通过在实际列名的位置使用星号(*)通配符来达到:

4.检索不同的行

(1)SELECT返回所有匹配的行。但是,如果我不想要每个值每次都出现,该怎么办呢?假如你想得出products表中产品的所有供应商ID:

上述SELECT语句返回14行(即使表中只有4个供应商),因为products表中列出了14个产品。那么,如何检索出有不同值的列表呢?

(2)使用关键字DISTINCT,指示MySQL只返回不同的值:

5.限制结果

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

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

(2)为了得出下一个5行,可指定要检索的开始行和行数:

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

(3)带一个值的LIMIT总是从第一行开始,给出的数为返回的行数;带两个值的LIMIT可以指定从行号为第一个值的位置开始。
注:行0,检索出来的第一行为行0而不是行1。因此,LIMIT 1,1 将检索出第二行而不是第一行。

6.使用完全限定的表名

(1)前面使用的SQL例子只是通过列名引用列。也可以使用完全限定的名字来引用列:

(2)表名也可以是完全限定的:

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注