购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.1 基本查询语句

MySQL从数据表中查询数据的基本语句为SELECT语句。SELECT语句的基本格式是:

     SELECT
           {* | <字段列表>}
           [
               FROM <表1>,<表2>…
               [WHERE <表达式>
               [GROUP BY <group by definition>]
               [HAVING <expression> [{<operator> <expression>}...]]
               [ORDER BY <order by definition>]
               [LIMIT [<offset>,] <row count>]
           ]
     SELECT [字段1,字段2,…,字段n]
     FROM [表或视图]
     WHERE [查询条件];

其中,各条子句的含义如下:

● {* | <字段列表>}:包含星号通配符和字段列表,表示查询的字段。其中,字段列表至少包含一个字段名称,如果要查询多个字段,多个字段之间用逗号隔开,最后一个字段后不加逗号。

● FROM <表1>,<表2>...:表1和表2表示查询数据的来源,可以是单个或者多个。

● WHERE子句:是可选项,如果选择该项,将限定查询行必须满足的查询条件。

● GROUP BY <字段>:该子句告诉MySQL如何显示查询出来的数据,并按照指定的字段分组。

● [ORDER BY <字段 >]:该子句告诉MySQL按什么样的顺序显示查询出来的数据,可以进行的排序有升序(ASC)、降序(DESC)。

● [LIMIT [<offset>,] <row count>]:该子句告诉MySQL每次显示查询出来的数据条数。

SELECT的可选参数比较多,读者可能无法一下完全理解。不要紧,接下来将从最简单的参数开始,一步一步深入学习之后,读者会对各个参数的作用有清晰的认识。

下面以一个例子说明如何使用SELECT从单个表中获取数据。

首先定义数据表,输入语句如下:

     CREATE TABLE fruits
     (
     f_id char(10) NOT NULL,
     s_id INT NOT NULL,
     f_name char(255) NOT NULL,
     f_price decimal(8,2) NOT NULL,
     PRIMARY KEY(f_id)
     );

为了演示如何使用SELECT语句,需要插入如下数据:

     mysql> INSERT INTO fruits (f_id, s_id, f_name, f_price)
          VALUES('a1', 101,'apple',5.2),
          ('b1',101,'blackberry', 10.2),
          ('bs1',102,'orange', 11.2),
          ('bs2',105,'melon',8.2),
          ('t1',102,'banana', 10.3),
          ('t2',102,'grape', 5.3),
          ('o2',103,'coconut', 9.2),
          ('c0',101,'cherry', 3.2),
          ('a2',103, 'apricot',2.2),
          ('l2',104,'lemon', 6.4),
          ('b2',104,'berry', 7.6),
          ('m1',106,'mango', 15.7),
          ('m2',105,'xbabay', 2.6),
          ('t4',107,'xbababa', 3.6),
          ('m3',105,'xxtt', 11.6),
          ('b5',107,'xxxx', 3.6);

使用SELECT语句查询f_id字段的数据:

     mysql> SELECT f_id, f_name FROM fruits;
     +------+------------+
     | f_id | f_name     |
     +------+------------+
     | a1   | apple      |
     | a2   | apricot    |
     | b1   | blackberry |
     | b2   | berry      |
     | b5   | xxxx       |
     | bs1  | orange     |
     | bs2  | melon      |
     | c0   | cherry     |
     | l2   | lemon      |
     | m1   | mango      |
     | m2   | xbabay     |
     | m3   | xxtt       |
     | o2   | coconut    |
     | t1   | banana     |
     | t2   | grape      |
     | t4   | xbababa    |
     +------+------------+

该语句的执行过程是,SELECT语句决定了要查询的列值,在这里查询f_id和f_name两个字段的值。FROM子句指定了数据的来源,这里指定数据表fruits,因此返回结果为fruits表中f_id和f_name两个字段下所有的数据。其显示顺序为添加到表中的顺序。 7qE+oJnkDhWK6Q81PgFDcZjZ72WylTOob54Z1WMTXRzR6Y/UNG+RdlImSVmS2ZcX

点击中间区域
呼出菜单
上一章
目录
下一章
×