mysql必知必会第四章笔记

检索单个列

检索products表中的prod_name列 :
输入:

SWLWCT prod_name
FROM products;

输出:

+-----------------+
| prod_name       |
+-----------------+
| .5 ton anvil    |
| 1 ton anvil     |
| 2 ton anvil     |
| Oil can         |
| Fuses           |
4.2 检索单个列
我们将从简单的SQL SELECT 语句开始介绍,此语句如下所示:

输入

SELECT prod_name
FROM products;







分析

上述语句利用SELECT 语句从products 表中检索一个名为prod_name 的列。所需的列名在SELECT 关键字之后给出,FROM 关键字指出从其中检索数据的表名。此语句的输出如下所示:

输出

+-----------------+
| prod_name       |
+-----------------+
| .5 ton anvil    |
| 1 ton anvil     |
| 2 ton anvil     |
| Oil can         |
| Fuses           |
| Sling           |
| TNT (1 stick)   |
| TNT (5 sticks)  |
| Bird seed       |
| Carrots         |
| Safe            |
| Detonator       |
| JetPack 1000    |
| JetPack 2000    |
+-----------------+

检索多个列

从products表中选择3列:
输入:

SELECT prod_id, prod_name,prod_price 
FROM products;

输出:

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

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

下面的SELECT 语句从products 表中选择3列:

输入

SELECT prod_id, prod_name, prod_price
FROM products;







分析

与前一个例子一样,这条语句使用SELECT 语句从表products 中选择数据。在这个例子中,指定了3个列名,列名之间用逗号分隔。此语句的输出如下:

输出

+---------+----------------+------------+
| prod_id | prod_name      | prod_price |
+---------+----------------+------------+
| ANV01   | .5 ton anvil   |       5.99 |
| ANV02   | 1 ton anvil    |       9.99 |
| ANV03   | 2 ton anvil    |      14.99 |
| OL1     | Oil can        |       8.99 |
| FU1     | Fuses          |       3.42 |
| SLING   | Sling          |       4.49 |
| TNT1    | TNT (1 stick)  |       2.50 |
| TNT2    | TNT (5 sticks) |      10.00 |
| FB      | Bird seed      |      10.00 |
| FC      | Carrots        |       2.50 |
| SAFE    | Safe           |      50.00 |
| DTNTR   | Detonator      |      13.00 |
| JP1000  | JetPack 1000   |      35.00 |
| JP2000  | JetPack 2000   |      55.00 |
+---------+----------------+------------+

检索所有列

输入*号通配符来达到检索所有列的目的 输入:

SELECT * 
FROM products;

注意:最好在只取部分列时不要使用*通配符,因为会检索所有列会降低应用程序的性能.

去重

如果想检索的列有许多重复的行,而你想使这些行不重复的显示出来,则可以进行去重处理
输入:

SELECT DISTINCT vend_id 
FROM products;

输出:

+---------+
| vend_id |
+---------+
|    1001 |
|    1002 |
|    1003 |
|    1005 |
+---------+

注意:不能部分使用DISTINCT DISTINCT关键字应用于所有列而不仅是前置它的列.如果给出SELECT DISTINCT vend_id ,prod_price ,除非指定的两个列都不同,否则所有行都将被检索出来。

限制结果

如果你查询某个表的行,但不想要所有的行,比如只要它的前几行,就可以使用LIMIT子句.
输入:

SELECT prod_name 
FROM products
LIMIT 5;

LIMIT 5 表示mysql返回不多于5行
输出:

+----------------+
| prod_name      |
+----------------+
| .5 ton anvil   |
| 1 ton anvil    |
| 2 ton anvil    |
| Oil can        |
| Fuses          |
+----------------+

为了得到下一个5行,可以指定要检索的开始行和行数
输入:

SELECT prod_name 
FROM products
LIMIT 5,5;

第一个数是开始位置(从零开始算起),第二个数为要检索的行数

输出

+----------------+
| prod_name      |
+----------------+
| Sling          |
| TNT (1 stick)  |
| TNT (5 sticks) |
| Bird seed      |
| Carrots        |
+----------------+

使用完全限定的表名

SELECT products.prod_name 
FROM products;

表名也可以是完全限定的:

SELECT products.prod_name 
FROM crashcourse.products;



全部评论

相关推荐

10-07 20:48
门头沟学院 Java
听说改名就会有offer:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务