1、SELECT语句
SQL语句由简单的英语单词构成。这些英语单词称为关键字,每个SQL语句都是用一个或多个关键字构成的。
2、检索单个列
输入 SELECT prod_name FROM products;
分析: 利用SELECT语句从product表中检索一个名为prod_name的列。所需的列名在SELECT关键字之后给出,FROM关键字指出从其中检索数据的表名。
SQL语句和大小写 SQL语句不区分大小写,因此SELECT与select是相同的。许多开发人员喜欢对所有SQL关键字使用大写,而对所有列和表名使用小写,这样做使代码更易于阅读和调试。
使用空格 在处理SQL语句时,其中所有空格都被忽略。SQL语句可以在一行上给出,也可以分成许多行。多行易于调试。
3、检索多个列
要想从一个表中检索多个列,使用相同的SELECT语句。唯一的不同是必须在SELECT关键字后给出多个列名,列名之间必须有逗号分隔。
当心逗号 在选择多个列时,一定要在列名之间加上逗号,但最后一个列名不加。
例:SELECT prod_id, prod_name, prod_price FROM products;
4、检索所有列
除了指定所需的列外,SELECT语句还可以检索所有的列而不必逐个列出它们。这可以通过在实际列名的位置使用星号()通配符来达到。
例:`SELECT FROM products;`
使用通配符 一般,除非你确实需要表中的每个列,否则最好别使用*通配符。检索不需要的列通常会降低检索和应用程序的性能。
5、检索不同的行
SELECT返回所有匹配的行。但是,如果你不想要每个值都出现,怎么办?
使用DISTINCT关键字,顾名思义,此关键字指示MySQL只返回不同的值。
例:SELECT DISTINCT vend_id FROM products;
不能部分使用DISTINCT DISTINCT关键字应用于所有列而不仅是前置它的列。如果给出SELECT DISTINCT vend_id, prod_price, 除非指定的两个列都不同,否则所有行都将被检索出来。
6、限制结果
SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为了返回第一行或前几行,可使用LIMIT子句。
例: SELECT prod_name FROM products LIMIT 5;
次语句使用SELECT语句检索单个列。 LIMIT 5指示MySQL返回不多于5行。
为了得出下一个5行,可指定要检索的开始行和行数。
例:SELECT prod_name FROM products LIMIT 5,5;
分析:LIMIT 5,5指示MySQL返回从行5开始的5行。第一个数为开始位置,第二个数为要检索的行数
行0 检索出来的第一行为行0而不是行1。因此, LIMIT 1,1将检索出第二行而不是第一行。
在行数不够时 LIMIT中指定要检索的行数为检索的最大行数。如果没有足够的行,MySQL将只返回的那么多行。
MySQL 5的LIMIT语法 LIMIT 3,4的含义是从行3开始的4行,这容易把人搞糊涂,MySQL 5支持LIMIT的另一种替代语法。LIMIT 4 OFFSET 3意从行3开始取4行,就像LIMIT 3,4一行。
7、使用完全限定的表名
例:SELECT products.prod_name FROM products;
表名也是可以完全限定的
例:SELECT products.prod_name FROM crashcourse.products;