【MySQL】数据处理(数据的查询)

阅读: 评论:0

【MySQL】数据处理(数据的查询)

【MySQL】数据处理(数据的查询)

What?

所谓的查询就是我们通过编写代码可以查到数据库中表格里的数据,当然不只是数据。查询产生一个虚拟表看到的是以表格的形式展现的,但结果并不真正地储存,每一次的查询只是从数据表中提取数据。

How?

SELECT [ALL | DISTINCT] 输出列表达式, … /SELECT子句/
FROM 表名1 [ , 表名2] …] /FROM子句/
[WHERE 条件] /WHERE子句/
[GROUP BY {列名 | 表达式 | 列编号}
[ASC | DESC], … /* GROUP BY 子句*/
[HAVING 条件] /* HAVING 子句*/
[ORDER BY {列名 | 表达式 | 列编号}
[ASC | DESC] , …] /ORDER BY子句/
[LIMIT {[偏移量,] 行数|行数OFFSET偏移量}] /LIMIT子句/

顺序严格地排序。例如,一个HAVING子句必须位于GROUP BY子句之后,并位于ORDER BY子句之前。

表格查询
select*from <表名>;

mysql> SELECT*FROM 图书信息;
+----------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
| ISBN编号       | 图书名称                        | 作者   | 价格 | 出版社 | 出版日期   | 图书类型 | 封面图片 | 图书简介 |
+----------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
| 9787121204178  | oracle11g数据库应用、设计与管理 | 陈承欢 | 38   | 4      | 2014-07-01 | T        | NULL     | NULL     |
| 9787040393293  | 实用工具软件任务驱动式教程      | 陈承欢 | 26   | 3      | 2014-11-01 | T        | NULL     | NULL     |
| 9787040393293  | 网页美化与布局                  | 陈承欢 | 39   | 1      | 2015-08-01 | T        | NULL     | NULL     |
| 9787115374035  | 跨平台的移动Web开发实战         | 陈承欢 | 29   | 2      | 2015-03-01 | T        | NULL     | NULL     |
| 9787121052347  | 数据库应用基础实例教程          | 陈承欢 | 29   | 4      | 2008-12-30 | T        | NULL     | NULL     |
| 9787121052348  | JAVA编程教学                    | 赵天逸 | 33   | 5      | 2008-12-29 | T        | NULL     | NULL     |
| 9787121052349  | MYSQL基础教学                   | 赵天逸 | 30   | 3      | 2009-12-29 | T        | NULL     | NULL     |
| 9787121052350  | 计算机基础教程                  | 赵天宇 | 45   | 1      | 2000-12-29 | S        | NULL     | NULL     |
| 9787121052352  | 网络技术与应用                  | 张泽段 | 100  | 4      | 2020-11-11 | M        | NULL     | NULL     |
| 9787121052351  | 计算机基础                      | 赵天宇 | 45   | 5      | 2000-12-29 |          | NULL     | NULL     |
| 9787121052358  | 计算机教程                      | 马宇   | 45   | 1      | 2000-12-29 |          | NULL     | NULL     |
| 97871212041478 | oracle11g数据库应用、设计与管理 | 陈承欢 | 38   | 4      | 2014-07-01 | T        | NULL     | NULL     |
| 9787040393293  | 实用工具软件任务驱动式教程      | 陈承欢 | 26   | 3      | 2014-11-01 | T        | NULL     | NULL     |
| 9787040393293  | 网页美化与布局                  | 陈承欢 | 39   | 1      | 2015-08-01 | T        | NULL     | NULL     |
| 9787115374035  | 跨平台的移动Web开发实战         | 陈承欢 | 29   | 2      | 2015-03-01 | T        | NULL     | NULL     |
| 9787121052347  | 数据库应用基础实例教程          | 陈承欢 | 29   | 4      | 2008-12-30 | T        | NULL     | NULL     |
| 9787121052348  | JAVA编程教学                    | 赵天逸 | 33   | 5      | 2008-12-29 | T        | NULL     | NULL     |
| 9787121052349  | MYSQL基础教学                   | 赵天逸 | 30   | 3      | 2009-12-29 | T        | NULL     | NULL     |
| 9787121052350  | 计算机基础教程                  | 赵天宇 | 45   | 1      | 2000-12-29 | S        | NULL     | NULL     |
| 9787121052352  | 网络技术与应用                  | 张泽段 | 100  | 4      | 2020-11-11 | M        | NULL     | NULL     |
| 9787121052351  | 计算机基础                      | 赵天宇 | 45   | 5      | 2000-12-29 |          | NULL     | NULL     |
| 9787121052358  | 计算机教程                      | 马宇   | 45   | 1      | 2000-12-29 |          | NULL     | NULL     |
+----------------+---------------------------------+--------+------+--------+------------+----------+----------+----------+
22 rows in set (0.11 sec)

部分数据列查询
select <列名> from <表名>;

mysql> select 图书名称,作者,价格,图书类型 from 图书信息;
+---------------------------------+--------+------+----------+
| 图书名称                        | 作者   | 价格 | 图书类型 |
+---------------------------------+--------+------+----------+
| oracle11g数据库应用、设计与管理 | 陈承欢 | 38   | T        |
| 实用工具软件任务驱动式教程      | 陈承欢 | 26   | T        |
| 网页美化与布局                  | 陈承欢 | 39   | T        |
| 跨平台的移动Web开发实战         | 陈承欢 | 29   | T        |
| 数据库应用基础实例教程          | 陈承欢 | 29   | T        |
| JAVA编程教学                    | 赵天逸 | 33   | T        |
| MYSQL基础教学                   | 赵天逸 | 30   | T        |
| 计算机基础教程                  | 赵天宇 | 45   | S        |
| 网络技术与应用                  | 张泽段 | 100  | M        |
| 计算机基础                      | 赵天宇 | 45   |          |
| 计算机教程                      | 马宇   | 45   |          |
| oracle11g数据库应用、设计与管理 | 陈承欢 | 38   | T        |
| 实用工具软件任务驱动式教程      | 陈承欢 | 26   | T        |
| 网页美化与布局                  | 陈承欢 | 39   | T        |
| 跨平台的移动Web开发实战         | 陈承欢 | 29   | T        |
| 数据库应用基础实例教程          | 陈承欢 | 29   | T        |
| JAVA编程教学                    | 赵天逸 | 33   | T        |
| MYSQL基础教学                   | 赵天逸 | 30   | T        |
| 计算机基础教程                  | 赵天宇 | 45   | S        |
| 网络技术与应用                  | 张泽段 | 100  | M        |
| 计算机基础                      | 赵天宇 | 45   |          |
| 计算机教程                      | 马宇   | 45   |          |
+---------------------------------+--------+------+----------+
22 rows in set (0.10 sec)

部分数据行查询
select*<列名>from <表名> where <条件>;

#where子句用来查找满足条件的相关数据行#

where子句常用运算符值:
1.比较运算符

2.逻辑运算符
通过逻辑运算符(and、or、xor 和 not)组成更为复杂的查询条件。逻辑运算操作的结果是“1”或“0”,分别表示“true”或“false”。

mysql> select 图书名称,作者,价格,图书类型 from 图书信息 where 价格>40;
+----------------+--------+------+----------+
| 图书名称       | 作者   | 价格 | 图书类型 |
+----------------+--------+------+----------+
| 计算机基础教程 | 赵天宇 | 45   | S        |
| 网络技术与应用 | 张泽段 | 100  | M        |
| 计算机基础     | 赵天宇 | 45   |          |
| 计算机教程     | 马宇   | 45   |          |
| 计算机基础教程 | 赵天宇 | 45   | S        |
| 网络技术与应用 | 张泽段 | 100  | M        |
| 计算机基础     | 赵天宇 | 45   |          |
| 计算机教程     | 马宇   | 45   |          |
+----------------+--------+------+----------+
8 rows in set (0.07 sec)
mysql> select distinct 图书名称,作者,价格,图书类型 from 图书信息 where 价格>40 and 作者='赵天宇';
+----------------+--------+------+----------+
| 图书名称       | 作者   | 价格 | 图书类型 |
+----------------+--------+------+----------+
| 计算机基础教程 | 赵天宇 | 45   | S        |
| 计算机基础     | 赵天宇 | 45   |          |
+----------------+--------+------+----------+
2 rows in set (0.06 sec)

数据查询列别名
一般在搜索的列名后加上 as ,但有时也可以不加。
select<列名>as <别名>from <表名> where <条件>;

mysql> select distinct 图书名称 as a,作者 as b,价格 as c,图书类型 as d from 图书信息 where 价格>40 and 作者='赵天宇';
+----------------+--------+----+---+
| a              | b      | c  | d |
+----------------+--------+----+---+
| 计算机基础教程 | 赵天宇 | 45 | S |
| 计算机基础     | 赵天宇 | 45 |   |
+----------------+--------+----+---+
2 rows in set (0.06 sec)mysql> select distinct 图书名称 a,作者 b,价格 c,图书类型 d from 图书信息 where 价格>40 and 作者='赵天宇';
+----------------+--------+----+---+
| a              | b      | c  | d |
+----------------+--------+----+---+
| 计算机基础教程 | 赵天宇 | 45 | S |
| 计算机基础     | 赵天宇 | 45 |   |
+----------------+--------+----+---+
2 rows in set (0.06 sec)

替换查询结果中的数据
select <替换的列名>,
case
when <条件1> then <别名1>
when <条件2> and <条件2.1> then <别名2>
when <条件3> then <别名3>
end as <列别名1>
from <表名>;

mysql> select 图书名称,-> case -> when 价格>=35 then '高价'-> when 价格>=28 and 价格<35 then '中价'-> when 价格<28 then '低价'-> end as '价值'-> from 图书信息;
+---------------------------------+------+
| 图书名称                        | 价值 |
+---------------------------------+------+
| oracle11g数据库应用、设计与管理 | 高价 |
| 实用工具软件任务驱动式教程      | 低价 |
| 网页美化与布局                  | 高价 |
| 跨平台的移动Web开发实战         | 中价 |
| 数据库应用基础实例教程          | 中价 |
| JAVA编程教学                    | 中价 |
| MYSQL基础教学                   | 中价 |
| 计算机基础教程                  | 高价 |
| 网络技术与应用                  | 高价 |
| 计算机基础                      | 高价 |
| 计算机教程                      | 高价 |
+---------------------------------+------+
11 rows in set (0.06 sec)

模糊查询-between and-in
between and 是搜索一定范围,且一定是由低到高
in 是查询某个集合里的,()中是一个集合,满足集合中的数据将被查询出来

mysql> select 图书名称,作者,价格 from 图书信息 where 价格 between 25 and 40;
+---------------------------------+--------+------+
| 图书名称                        | 作者   | 价格 |
+---------------------------------+--------+------+
| oracle11g数据库应用、设计与管理 | 陈承欢 | 38   |
| 实用工具软件任务驱动式教程      | 陈承欢 | 26   |
| 网页美化与布局                  | 陈承欢 | 39   |
| 跨平台的移动Web开发实战         | 陈承欢 | 29   |
| 数据库应用基础实例教程          | 陈承欢 | 29   |
| JAVA编程教学                    | 赵天逸 | 33   |
| MYSQL基础教学                   | 赵天逸 | 30   |
+---------------------------------+--------+------+
7 rows in set (0.05 sec)mysql> select 图书名称,作者,价格,出版社 from 图书信息 where 出版社 in (1,3);
+----------------------------+--------+------+--------+
| 图书名称                   | 作者   | 价格 | 出版社 |
+----------------------------+--------+------+--------+
| 实用工具软件任务驱动式教程 | 陈承欢 | 26   | 3      |
| 网页美化与布局             | 陈承欢 | 39   | 1      |
| MYSQL基础教学              | 赵天逸 | 30   | 3      |
| 计算机基础教程             | 赵天宇 | 45   | 1      |
| 计算机教程                 | 马宇   | 45   | 1      |
+----------------------------+--------+------+--------+
5 rows in set (0.06 sec)

数据查询单列排序
select<列名>as <别名>from <表名> where <条件>order by <排序列名>;

系统默认的是升序,但有时我们会用到降序(desc)。

mysql> select 图书名称,作者,价格,出版社 from 图书信息 where 出版社 in (1,3) order by 出版社;
+----------------------------+--------+------+--------+
| 图书名称                   | 作者   | 价格 | 出版社 |
+----------------------------+--------+------+--------+
| 网页美化与布局             | 陈承欢 | 39   | 1      |
| 计算机基础教程             | 赵天宇 | 45   | 1      |
| 计算机教程                 | 马宇   | 45   | 1      |
| 实用工具软件任务驱动式教程 | 陈承欢 | 26   | 3      |
| MYSQL基础教学              | 赵天逸 | 30   | 3      |
+----------------------------+--------+------+--------+
5 rows in set (0.05 sec)mysql> select 图书名称,作者,价格,出版社 from 图书信息 where 出版社 in (1,3) order by 出版社 desc;
+----------------------------+--------+------+--------+
| 图书名称                   | 作者   | 价格 | 出版社 |
+----------------------------+--------+------+--------+
| 实用工具软件任务驱动式教程 | 陈承欢 | 26   | 3      |
| MYSQL基础教学              | 赵天逸 | 30   | 3      |
| 网页美化与布局             | 陈承欢 | 39   | 1      |
| 计算机基础教程             | 赵天宇 | 45   | 1      |
| 计算机教程                 | 马宇   | 45   | 1      |
+----------------------------+--------+------+--------+
5 rows in set (0.06 sec)

通配符


mysql> select  出版社ID,出版社简称,出版社地址,邮政编码 from 出版社 where 邮政编码 like '1000%' order by 出版社ID desc;
+----------+------------+----------------------------+----------+
| 出版社ID | 出版社简称 | 出版社地址                 | 邮政编码 |
+----------+------------+----------------------------+----------+
| 6        | 疯狂       | 南京市江宁区龙眠大道       | 100038   |
| 5        | 机工       | 北京市西城区百万庄大街22号 | 100037   |
| 4        | 电子       | 北京市海淀区万寿路173信箱  | 100036   |
| 3        | 清华       | 北京清华大学学院大厦       | 100084   |
| 2        | 人邮       | 北京市崇文区夕照寺街14号   | 100061   |
| 1        | 高教       | 北京西城区德外大街4号      | 100011   |
+----------+------------+----------------------------+----------+
6 rows in set (0.05 sec)mysql> select  出版社ID,出版社简称,出版社地址 from 出版社 where 出版社地址 like '__市__区%' order by 出版社ID;
+----------+------------+----------------------------+
| 出版社ID | 出版社简称 | 出版社地址                 |
+----------+------------+----------------------------+
| 2        | 人邮       | 北京市崇文区夕照寺街14号   |
| 4        | 电子       | 北京市海淀区万寿路173信箱  |
| 5        | 机工       | 北京市西城区百万庄大街22号 |
| 6        | 疯狂       | 南京市江宁区龙眠大道       |
| 7        | 呆呆       | 南京市江宁区龙眠大道南交院 |
| 8        | 人民       | 上海市虹桥区               |
+----------+------------+----------------------------+
6 rows in set (0.05 sec)

本文发布于:2024-01-31 23:39:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170671558032231.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:【C语言(十)】
下一篇:陈承欢mysql
标签:数据处理   数据   MySQL
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23