数据查询SELECT

举报
xcc-2022 发表于 2022/07/26 10:40:54 2022/07/26
【摘要】 13.2 SELECT查询语句MySQL中使用SELECT关键字进行数据查询。SELECT语句提供了强大的查询功能,不仅能够查询数据表中的所有数据,还能够查询表中的单个列数据、指定列的数据,以及使用完全限定表名查询数据、使用别名查询数据。13.2.1 查询表中所有字段的数据MySQL查询表中所有的数据可以通过“SELECT * 通配符”或者“SELECT 所有字段”实现。1.通过SELECT...

13.2 SELECT查询语句

MySQL中使用SELECT关键字进行数据查询。SELECT语句提供了强大的查询功能,不仅能够查询数据表中的所有数据,还能够查询表中的单个列数据、指定列的数据,以及使用完全限定表名查询数据、使用别名查询数据。


13.2.1 查询表中所有字段的数据

MySQL查询表中所有的数据可以通过“SELECT * 通配符”或者“SELECT 所有字段”实现。

1.通过SELECT *通配符查询所有字段数据

语法格式如下:


SELECT * FROM table_name

语法格式说明如下:

·*:查询通配符,能够匹配数据表中的所有字段。

·table_name:数据表名称。

使用SELECT *通配符查询t_goods数据表中的所有数据。


mysql> SELECT * FROM t_goods;
+----+---------------+-----------------+-------------+---------+---------+---------------------+
| id | t_category_id | t_category      | t_name      | t_price | t_stock | t_upper_time        |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
|  1 |             1 | 女装/女士精品   | T恤         |   39.90 |   1000  | 2020-11-10 00:00:00 |
|  2 |             1 | 女装/女士精品   | 连衣裙      |   79.90 |   2500  | 2020-11-10 00:00:00 |
|  3 |             1 | 女装/女士精品   | 卫衣        |   79.90 |   1500  | 2020-11-10 00:00:00 |
|  4 |             1 | 女装/女士精品   | 牛仔裤      |   89.90 |   3500  | 2020-11-10 00:00:00 |
|  5 |             1 | 女装/女士精品   | 百褶裙      |   29.90 |    500  | 2020-11-10 00:00:00 |
|  6 |             1 | 女装/女士精品   | 呢绒外套    |  399.90 |   1200  | 2020-11-10 00:00:00 |
|  7 |             2 | 户外运动        | 自行车      |  399.90 |   1000  | 2020-11-10 00:00:00 |
|  8 |             2 | 户外运动        | 山地自行车  | 1399.90 |   2500  | 2020-11-10 00:00:00 |
|  9 |             2 | 户外运动        | 登山杖      |   59.90 |   1500  | 2020-11-10 00:00:00 |
| 10 |             2 | 户外运动        | 骑行装备    |  399.90 |   3500  | 2020-11-10 00:00:00 |
| 11 |             2 | 户外运动        | 户外运动外套 |  799.90 |    500  | 2020-11-10 00:00:00 |
| 12 |             2 | 户外运动        | 滑板        |  499.90 |   1200  | 2020-11-10 00:00:00 |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
12 rows in set (0.00 sec)

查询结果显示,使用*通配符会返回数据表中的所有数据,并且返回数据中的字段顺序按照创建数据表时定义的字段顺序进行显示。

2.通过SELECT所有字段查询数据表中的所有数据

语法格式如下:


SELECT column1 [,column2, … ,columnn] FROM table_name

语法格式说明如下:

·column1 [,column2,…,columnn]:指定的查询字段列表。

·table_name:数据表名称。

通过指定所有字段查询t_goods数据表中的所有数据。


mysql> SELECT id, t_category_id, t_category, t_name, t_price, t_stock, t_upper_time FROM t_goods; 
+----+---------------+-----------------+-------------+---------+---------+---------------------+
| id | t_category_id | t_category      | t_name      | t_price | t_stock | t_upper_time        |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
|  1 |             1 | 女装/女士精品   | T恤         |   39.90 |   1000  | 2020-11-10 00:00:00 |
|  2 |             1 | 女装/女士精品   | 连衣裙      |   79.90 |   2500  | 2020-11-10 00:00:00 |
|  3 |             1 | 女装/女士精品   | 卫衣        |   79.90 |   1500  | 2020-11-10 00:00:00 |
|  4 |             1 | 女装/女士精品   | 牛仔裤      |   89.90 |   3500  | 2020-11-10 00:00:00 |
|  5 |             1 | 女装/女士精品   | 百褶裙      |   29.90 |    500  | 2020-11-10 00:00:00 |
|  6 |             1 | 女装/女士精品   | 呢绒外套    |  399.90 |   1200  | 2020-11-10 00:00:00 |
|  7 |             2 | 户外运动        | 自行车      |  399.90 |   1000  | 2020-11-10 00:00:00 |
|  8 |             2 | 户外运动        | 山地自行车  | 1399.90 |   2500  | 2020-11-10 00:00:00 |
|  9 |             2 | 户外运动        | 登山杖      |   59.90 |   1500  | 2020-11-10 00:00:00 |
| 10 |             2 | 户外运动        | 骑行装备    |  399.90 |   3500  | 2020-11-10 00:00:00 |
| 11 |             2 | 户外运动        | 户外运动外套 |  799.90 |    500  | 2020-11-10 00:00:00 |
| 12 |             2 | 户外运动        | 滑板        |  499.90 |   1200  | 2020-11-10 00:00:00 |
+----+---------------+-----------------+-------------+---------+---------+---------------------+
12 rows in set (0.00 sec)

由此可以看出,通过指定t_goods数据表中的所有字段,也能够查询出所有字段的数据。

当通过指定字段查询数据时,查询语句中的字段顺序可以与创建数据表时定义的字段顺序不同,只需要指定需要查询的字段即可,查询结果中的数据与查询语句中的字段顺序对应。再次查询t_goods数据表中的数据。


mysql> SELECT id, t_category_id, t_category, t_name, t_price,t_upper_time,t_stock FROM t_goods;
+----+---------------+-----------------+-------------+---------+---------------------+---------+
| id | t_category_id | t_category      | t_name      | t_price | t_upper_time        | t_stock |
+----+---------------+-----------------+-------------+---------+---------------------+---------+
|  1 |             1 | 女装/女士精品   | T恤         |   39.90 | 2020-11-10 00:00:00 |   1000  |
|  2 |             1 | 女装/女士精品   | 连衣裙      |   79.90 | 2020-11-10 00:00:00 |   2500  |
|  3 |             1 | 女装/女士精品   | 卫衣        |   79.90 | 2020-11-10 00:00:00 |   1500  |
|  4 |             1 | 女装/女士精品   | 牛仔裤      |   89.90 | 2020-11-10 00:00:00 |   3500  |
|  5 |             1 | 女装/女士精品   | 百褶裙      |   29.90 | 2020-11-10 00:00:00 |    500  |
|  6 |             1 | 女装/女士精品   | 呢绒外套    |  399.90 | 2020-11-10 00:00:00 |   1200  |
|  7 |             2 | 户外运动        | 自行车      |  399.90 | 2020-11-10 00:00:00 |   1000  |
|  8 |             2 | 户外运动        | 山地自行车  | 1399.90 | 2020-11-10 00:00:00 |   2500  |
|  9 |             2 | 户外运动        | 登山杖      |   59.90 | 2020-11-10 00:00:00 |   1500  |
| 10 |             2 | 户外运动        | 骑行装备    |  399.90 | 2020-11-10 00:00:00 |   3500  |
| 11 |             2 | 户外运动        | 户外运动外套 |  799.90 | 2020-11-10 00:00:00 |    500  |
| 12 |             2 | 户外运动        | 滑板        |  499.90 | 2020-11-10 00:00:00 |   1200  |
+----+---------------+-----------------+-------------+---------+---------------------+---------+
12 rows in set (0.00 sec)

在查询语句中,虽然t_upper_time字段与t_stock字段的顺序与创建t_goods数据表时定义的字段顺序不同,但是同样查询出了相应的数据。

注意:在实际业务或数据库开发中,除非特殊需要,最好不要使用“SELECT *”查询数据。因为在实际业务或数据库开发中,往往不会查询一张数据表中的所有数据,而使用“SELECT *”会查询数据表中的所有字段数据,这样会降低查询的效率。


13.2.2 查询表中单个字段的数据

查询单个列的数据,也就是查询数据表中单个字段的数据,只需要在SELECT查询语句后面跟上指定的单一字段名称即可。语法格式如下:


SELECT single_column FROM table_name

语法格式说明如下:

·single_column:指定的单一字段的名称。

·table_name:数据表名称。

查询t_goods数据表中t_name字段的数据。


mysql> SELECT t_name FROM t_goods;
+-----------------+
| t_name          |
+-----------------+
| T恤             |
| 连衣裙          |
| 卫衣            |
| 牛仔裤          |
| 百褶裙          |
| 呢绒外套        |
| 自行车          |
| 山地自行车      |
| 登山杖          |
| 骑行装备        |
| 户外运动外套    |
| 滑板            |
+-----------------+
12 rows in set (0.00 sec)

查询结果中显示了t_goods数据表中t_name字段的所有数据。


13.2.3 查询表中指定字段的数据

查询表中指定字段的数据在本节中特指查询多个字段的数据。可以在SELECT关键字后面指定多个需要查询的字段名称,每个字段名称之间以逗号分隔即可。语法格式如下:


SELECT column1, column2, … , columnn FROM table_name

查询t_goods数据表中t_name、t_price和t_stock字段的数据。


mysql> SELECT t_name, t_price, t_stock FROM t_goods;
+-----------------+---------+---------+
| t_name           | t_price | t_stock |
+-----------------+---------+---------+
| T恤             |   39.90 |    1000 |
| 连衣裙           |   79.90 |    2500 |
| 卫衣             |   79.90 |    1500 |
| 牛仔裤           |   89.90 |    3500 |
| 百褶裙           |   29.90 |     500 |
| 呢绒外套         |  399.90 |    1200 |
| 自行车           |  399.90 |    1000 |
| 山地自行车       | 1399.90 |    2500 |
| 登山杖           |   59.90 |    1500 |
| 骑行装备         |  399.90 |    3500 |
| 户外运动外套     |  799.90 |     500 |
| 滑板             |  499.90 |    1200 |
+-----------------+---------+---------+
12 rows in set (0.00 sec)

查询结果正确显示出了3个字段的所有数据。


13.2.4 使用完全限定字段名查询数据

限定列名指的是通过表名和字段名指定查询数据的字段,语法格式如下:


SELECT table_name.column1, table_name.column2, … , table_name.columnn 
FROM table_name

通过语法格式可以看出,通过“表名.字段名”的形式可以限定字段名称。

使用限定字段名的形式查询t_goods数据表中的t_category_id字段和t_category字段。


mysql> SELECT t_goods.t_category_id, t_goods.t_category FROM t_goods;
+---------------+---------------------+
| t_category_id | t_category          |
+---------------+---------------------+
|              1 | 女装/女士精品       |
|              1 | 女装/女士精品       |
|              1 | 女装/女士精品       |
|              1 | 女装/女士精品       |
|              1 | 女装/女士精品       |
|              1 | 女装/女士精品       |
|              2 | 户外运动            |
|              2 | 户外运动            |
|              2 | 户外运动            |
|              2 | 户外运动            |
|              2 | 户外运动            |
|              2 | 户外运动            |
+---------------+---------------------+
12 rows in set (0.00 sec)

通过完全限定数据表中字段的名称,正确查询出了t_category_id字段和t_category字段的数据。


13.2.5 使用完全限定表名查询数据

限定表名指的是在查询语句中的数据表名称前指定数据库名称,表明当前查询的数据表属于哪个数据库,语法格式如下:


SELECT * FROM database_name.table_name

或者


SELECT column1 [, column2, … , columnn] 
FROM database_name.table_name

从语法格式可以看出,通过“数据库名.数据表名”的形式,能够限定数据表属于哪个数据库。

使用完全限定表名的形式查询t_goods数据表中t_name字段、t_price字段与t_upper_time字段的数据。


mysql> SELECT t_name, t_price, t_upper_time FROM goods.t_goods;
+-----------------+---------+---------------------+
| t_name          | t_price | t_upper_time        |
+-----------------+---------+---------------------+
| T恤             |   39.90 | 2020-11-10 00:00:00 |
| 连衣裙          |   79.90 | 2020-11-10 00:00:00 |
| 卫衣            |   79.90 | 2020-11-10 00:00:00 |
| 牛仔裤          |   89.90 | 2020-11-10 00:00:00 |
| 百褶裙          |   29.90 | 2020-11-10 00:00:00 |
| 呢绒外套        |  399.90 | 2020-11-10 00:00:00 |
| 自行车          |  399.90 | 2020-11-10 00:00:00 |
| 山地自行车      | 1399.90 | 2020-11-10 00:00:00 |
| 登山杖          |   59.90 | 2020-11-10 00:00:00 |
| 骑行装备        |  399.90 | 2020-11-10 00:00:00 |
| 户外运动外套     |  799.90 | 2020-11-10 00:00:00 |
| 滑板            |  499.90 | 2020-11-10 00:00:00 |
+-----------------+---------+---------------------+
12 rows in set (0.00 sec)

结果显示,正确查询出了t_goods数据表中t_name字段、t_price字段与t_upper_time字段的数据。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。