MySQL必知必会 (4)

检索数据

每个SQL语句都是由一个或多个关键字构成的,SELECT语句的用途是从一个或多个表中检索信息。


1、检索单个列

MySQL必知必会 (4)_第1张图片MySQL必知必会 (4)_第2张图片


结束SQL语句: 

多条SQL语句必须以分号(;)分隔。如果你使用的是mysql命令行,必须加上分号来结束SQL语句。

SQL语句和大小写 :

请注意,SQL语句不区分大小写,因此SELECT与select是相同的。同样,写成Select也没有关系。

使用空格: 

在处理SQL语句时,其中所有空格都被忽略。SQL语句可以在一行上给出,也可以分成许多行。


2、检索多个列

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

当心逗号 在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。如果在最后一个列名后加了逗号,将出现错误。

MySQL必知必会 (4)_第3张图片 

                MySQL必知必会 (4)_第4张图片


3、检索所有列

SELECT语句可以检索所有的列而不必逐个列出它们。通过在实际列名的位置使用星号(*)通配符来达到,如下所示:MySQL必知必会 (4)_第5张图片


使用通配符 :

一般,除非你确实需要表中的每个列,否则最好别使用*通配符。检索不需要的列通常会降低检索和应用程序的性能


4、检索不同的行

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

MySQL必知必会 (4)_第6张图片

MySQL必知必会 (4)_第7张图片

  MySQL必知必会 (4)_第8张图片

不能部分使用DISTINCT DISTINCT关键字应用于所有列而不仅是前置它的列。


5、限制结果

为了返回第一行或前几行,可使用LIMIT子句。

MySQL必知必会 (4)_第9张图片

   MySQL必知必会 (4)_第10张图片


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


行0 检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。


在行数不够时 LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行),MySQL将只返回它能返回的那么多行。


6、使用完全限定的表名


这条SQL语句在功能上等于本章最开始使用的那一条语句,但这里指定了一个完全限定的列名。






你可能感兴趣的:(数据库与SQL语言)