SQL语句不区分大小写。但许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写,这样做使代码更易于阅读和调试。
在处理SQL语句时,其中所有空格都被忽略。SQL语句可以在一行上给出,也可以分成许多行。多数SQL开发人员认为将SQL语句分成多行更容易阅读和调试。
SELECT语句
利用SELECT 语句从products 表中检索一个名为prod_name的列。
1 | SELECT prod_name |
检索多个列
在SELECT关键字后给出多个列名来检索多个列。
1 | SELECT prod_id, prod_name, prod_price |
检索所有列
可以通过在实际列名的位置使用星号(*)通配符来检索所有的列。
1 | SELECT * |
一般,除非你确实需要表中的每个列,否则最好别使用*通配符。虽然使用通配符可能会使你自己省事,不用明确列出所需列,但检索不需要的列通常会降低检索和应用程序的性能。
检索不同的行
使用DISTINCT关键字会指示MySQL只返回不同的值。
1 | SELECT DISTINCT vend_id |
DISTINCT关键字应用于所有列。如果给出SELECT DISTINCT vend_id, prod_price,除非指定的两个列都不同,否则所有行都将被检索出来。
限制结果
为了返回第一行或前几行,可使用LIMIT子句。
1 | SELECT prod_name |
为得出下一个5行,可指定要检索的开始行和行数。
1 | SELECT prod_name |
检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。
LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行(例如,给出LIMIT 10, 5,但只有13行),MySQL将只返回它能返回的那么多行。
MySQL 5支持LIMIT的另一种替代语法。LIMIT4 OFFSET 3意为从行3开始取4行,就像LIMIT 3, 4一样。
使用完全限定的表名
使用完全限定的名字来引用列(同时使用表名和列字)。
1 | SELECT products.prod_name |
使用完全限定的表名。
1 | SELECT products.prod_name |