注册 登录
MySQL基础教程

第一章: 环境搭建,安装MySQL

第二章: 掌握数据库的核心概念

第三章: MySQL服务与Show命令

第四章: 创建数据库与数据表

第五章: MySQL增查改删

第六章: 在Python中操作MySQL

首页 > MySQL基础教程 > 第五章: MySQL增查改删 > 5.2节: 使用SELECT查询数据

5.2节: 使用SELECT查询数据

薯条老师 2021-11-23 17:22:57 162496 0

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师的线下Python,Java小班周末班已经开课了,培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Java后端开发。授课详情请点击:http://chipscoco.com/?cate=6

5.2.1 SELECT的SQL语法

使用SELECT动词查询数据的基本语法:

SELECT select_expr[,select_expr]... [FROM table_references]

select_expr表示查询表达式,在SELECT后面可以接多个查询表达式,表达式之间以英文逗号进行分隔。FROM table_references表示从哪些数据表中查询数据。

5.2.1 SELECT的SQL实例

在上节教程中,我们往商品表中插入了四条数据,现在我们通过SELECT动词来查询商品表的数据。在查询数据前,先切换到chipscoco数据库:

mysql> use chipscoco;
Database changed

接着执行SELECT动词来查询数据:

mysql> select id,name,price,ct from goods;
+----+--------------+-------+---------------------+
| id | name         | price | ct                  |
+----+--------------+-------+---------------------+
|  1 | 黑人牙膏     |    25 | 2021-11-22 17:27:44 |
|  2 | 云南白药     |    28 | 2021-11-22 17:33:24 |
|  3 | 青岛啤酒     |     7 | 2021-11-22 17:33:24 |
|  5 | 湖南辣条     |    38 | 2021-11-22 17:52:33 |
+----+--------------+-------+---------------------+
4 rows in set (0.04 sec)

查询成功后,命令行会以表格的形式来显示数据。SQL语句select id, name, price, ct表示查询数据表中的所有id列,name列,price列,ct列。如仅需查询特定的列,则只需传递指定的列名即可。比如仅查询id列,ct列,则SQL为:

mysql> select id, ct from goods;
+----+---------------------+
| id | ct                  |
+----+---------------------+
|  1 | 2021-11-22 17:27:44 |
|  2 | 2021-11-22 17:33:24 |
|  3 | 2021-11-22 17:33:24 |
|  5 | 2021-11-22 17:52:33 |
+----+---------------------+
4 rows in set (0.00 sec)

如需在查询过程中滤掉重复的数据,则可以在SELECT后面使用DISTINCT或DISTINCTROW关键字。DISTINCT用来排重字段值,而DISTINCTROW用来对每一行数据进行排重。SQL实例:

mysql> insert into goods(name, price) values("云南白药", 19);
Query OK, 1 row affected (0.09 sec)
mysql> select distinct name from goods;
+--------------+
| name         |
+--------------+
| 黑人牙膏     |
| 云南白药     |
| 青岛啤酒     |
| 湖南辣条     |
+--------------+
4 rows in set (0.00 sec)

在以上SQL中,先往商品表中插入一条重复的列值:云南白药,在查询时再使用DISTINCT关键字进行排重。读者可以尝试将SELECT中的DISTINCT去掉,以分析输出的结果。在我们的测试中,仅对name字段进行排重,如需对多个字段值进行排重,该如何编写SQL语句?当使用DISTINCT来排重时,MySQL会自动对DISTINCT后面的多个字段值进行排重。SQL实例:

mysql> insert into goods(name, price) values("云南白药", 19);
Query OK, 1 row affected (0.01 sec)
mysql> select distinct name,price from goods;
+--------------+-------+
| name         | price |
+--------------+-------+
| 黑人牙膏     |    25 |
| 云南白药     |    28 |
| 青岛啤酒     |     7 |
| 湖南辣条     |    38 |
| 云南白药     |    19 |
+--------------+-------+
5 rows in set (0.00 sec)

在以上SQL中,我们往商品表中插入了跟上一条记录的name列和price列均相同的值:("云南白药", 19),在查询时使用了DISTINCT关键字来修饰name和price,这时查询出来的结果不会包含最后插入的这条重复的数据。

5.2.3 高薪就业班

(1) Python后端工程师高薪就业班,月薪10K-15K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪10K-20K, 免费领取课程大纲
(4) Python大数据工程师就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取学习资料:



欢迎 发表评论:

请登录

忘记密码我要注册

注册账号

已有账号?请登录