【MySQL必知必会】第四章 检索数据

1、SELECT语句

  从一个或多个表中检索信息。

2、检索单个列

  输入:SELECT prod_name FROM products;

  输出:prod_name

     Safe

     Bird seed

     Sling

     xxxxxx

  分析:从products表中检索一个名为prod_name的列。

3、分号的使用

  大多数DBMS,不需要在单条语句后加分号,多条语句使用分号分隔,但是建议每条语句都加上分号。

4、大小写

  SQL语句不区分大小写,但为了阅读方便,建议关键字大写,列名和表名使用小写。

5、空格

  处理SQL语句时,所有空格都被忽略,SQL语句可以一行给出,也可以多行给出,多行便于阅读,建议多行。

6、检索多个列

  输入:SELECT prod_id,prod_name,prod_price FROM products;

  输出:

    prod_id  prod_name  prod_price

    FB      Bird seed  10.00

    FC      Carrots    2.50

    SAFE     Safe     50.00

  分析:可以看到选择多个列只是在关键字SELECT后增添相应的列名而已,不过列名之间需要使用分号隔开。

7、检索所有列

  输入:SELECT * FROM products;

  输出:products表中的所有列。

  分析:*是一个通配符。列显示的顺序一般与表定义的顺序一致,但表的模式变化时(如添加或删除列)可能导致顺序的变化。

8、通配符

  一般不建议使用通配符*,除非你真的需要列出表中的每个列,否则会降低检索和应用程序的性能。

  通配符的另一作用是检索未知列,以获取列名。

9、检索不同的行

  个人认为题目应为,检索某些列,但是去除重复的行。检索一个列重复的可能性比较大,多个列因为描述的维度多了,组合标识就很可能不重复了。

  输入:SELECT DISTINCT vend_id

     FROME products;

  输出:vend_id

     1001

     1002

     1003

  分析:DISTINCT 应用于所有列而不仅仅是前置它的列。

10、限制结果

  输入:SELECT prod_name

     FROM products

     LIMIT 2;

  输出:prod_name

     oil can

     Fuses

  分析:返回结果不多于2行。

  要得出剩余的行数,可以这么写

  输入:SELECT prod_name

     FROM products

     LIMIT 2,2;

  输出:prod_name

     Bird seed

     Carrots

  分析:返回从行2开始的2行,第一个参数是起始位置(采用数组的下标表示,所以其实是第3行),第二个参数是要检索的行数。当实际行数没有参数行数多时,只返回实际行数。

  等效语法:LIMIT 3,4 == LIMIT 4 OFFSET 3

11、使用完全限定的表名

  输入:SELECT products.prod_name

     FROM crashcourse.products;

  分析:这条语句起的作用与本章开头语句起的作用一致,只是有的地方需要你使用完全限定名,具体情况到时候再说。

 

posted @ 2017-05-05 14:11  名称简单点  阅读(272)  评论(0编辑  收藏  举报