MySQL数据查询(可视化界面 MySQL Workbench)
一、SELECT语句
Select子句:指定要显示的列或表达式
From子句:指定查询数据来源的表或视图,可以指定一个表,也可以指定多个表
Where子句:指定选择行的条件
Group by子句:指定分组表达式
Having子句:制定满足分组的条件
Order by子句:指定行的升序或降序排序
Limit子句:指定查询结果集包含的行数
二、投影查询
1、投影指定的列
使用select语句可选择表中的一个列或多个列,若为多个列用逗号隔开
2、投影全部列
在select子句指定列的位置上使用 * 号时,则为查询表中所有的列
3、修改查询结果的列标题
在列名后使用AS<列别名>
4、计算列值
使用select子句对列进行查询时,可以对数字类型的列进行计算,可以使用加(+),减(-),乘(×),除(/)等算术运算符
5、去掉重复行
用distinct关键字去掉结果集中的重复行
三、选择查询
1、表达式比较
比较运算符用于比较两个表达式的值
2、指定范围
Between、not between、in是用于指定范围的三个关键词
3、空值判断
判断一个表达式的值是否为空值可用IS NULL关键字
4、使用LIKE关键字的字符串匹配查询
%:代表0或多个字符
_:代表一个字符
LIKE匹配中使用通配符的查询也称模糊查询
5、使用正则表达式进行查询
正则表达书通常用来检索或替换符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合要求的特殊字符串。正则表达式的查询能力比通配符的查询能力更强大、更灵活、可以应用于非常复杂的查询中。
正则表达式常用的字符匹配选项
<字符串>:匹配包含指定的字符串的文本
[ ] :匹配在[ ]中的任何一个字符
[^] :匹配不在[ ]中的任何一个字符
^ :匹配文本的开始字符
$ :匹配文本的结束字符
. :匹配任何 单个字符
* :匹配零个或多个 * 前面的字符
+ :匹配+前面的字符1次或多次
{n} :匹配前面的字符串至少n次
四、分组查询和统计计算
1、聚合函数
聚合函数实现数据的统计计算,用于计算表中的数据,返回单个计算结果
1.1 COUNT()函数
计算组中满足条件的行数或总行数
1.2 SUM()、AVG()函数(两个函数只能用于数值类型的数据)
SUM():求出一组数据的总和
AVG():求出一组数据的平均值
1.3 MAX()、MN()函数(两个函数可用于任意类型的数据)
MAX():求出一组数据最大值
MIN():求出一组数据最小值
2、GROUP BY子句
用于指定需要分组的列
注:若select子句的列名表包含聚合函数,则该列名表只能包含聚合函数指定的列名和group by子句指定的列名。聚合函数常与group by子句一起使用
3、HAVING子句
用于对分组按指定条件进一步进行筛选,过滤出满足指定条件的分组
注:HAVING子句可以使用聚合函数,WHERE子句不可以使用聚合函数
当WHERE子句、GROUP BY子句、HAVING子句、ORDER BY子句在一个SELECT语句中时,执行顺序
1、执行WHERE子句,在表中选择行
2、执行GROUP BY子句,对选择行进行分组
3、执行聚合函数
4、执行HAVING子句,筛选满足条件的分组
5、执行ORDER BY子句,进行排序
五、排序查询和限制查询结果的数量
1、排序查询
ORDER BY子句可用于对查询结果进行排序(可对数值、日期、字符三种数据类型使用,在整个SELECT语句最后)
ASC:升序排序
DESC:降序排序
2、限制查询结果数量
LIMIT子句用于限制SELECT语句返回的行数
(1)Offset:位置偏移量,指示从哪一行开始显示,第1行的位置偏移量是0,第2行的位置偏移量是1,以此类推,若不指定位置偏移量,系统从表第1行开始显示
(2)row_count:返回的行数
(3)LIMIT子句两种语法格式,eg:显示表中第2~4行
A.LIMIT 1,3
B.LIMIT 3 OFFSET 1
六、连接查询
1、交叉连接(CROSS JOIN)
又称笛卡尔积,由第一个表的每行与第二个表的每行连接起来后形成的表,返回的结果集的行数等于所连接的两个表行数的乘积
2、内连接(INNER JOIN)
只有满足查询条件得到记录才能出现在结果集中,使用比较运算符进行表中某些字段值的比较操作,并将与连接条件相匹配的数据行组成新记录,以消除交叉连接中没有意义的数据行
有以下两种连接方式
INNER JOIN 显示语法结构
使用WHERE子句定义连接条件的隐式语法结构
2.1、等值连接与非等值连接
使用“=”连接起来的为等值连接,其他运算符连接为非等值连接
2.2、自然连接
在FROM子句中使用关键字NATURAL JOIN,自然连接在目标列中去除相同的字段名
2.3、自连接
将某个表与自身进行连接,为自表连接或自身连接,使用自连接需要为表指定多个别名,且对所有查询字段的引用必须使用表别名限定
3、外连接
只有满足查询条件得到记录才能最为结果输出,外连接的结果不但包含满足连接条件的行,还包括相应表中的所有行
左外连接:结果表中除了包含满足连接条件的行外,还包含左表的所有行,当左表有记录而在右表中没有匹配记录时,右表对应列被设置为NULL
右外连接:结果表中除了包含满足连接条件的行外,还包含右表的所有行,当右表有记录而在左表中没有匹配记录时,左表对应列被设置为NULL
七、子查询
可以用一系列简单的查询构成复杂的查询,在SQL语句中SELECT…FROM…WHERE语句为一个查询块,在WHERE子句或HAVING子句所指定的条件中,可以使用另一个查询块嵌套查询
- IN子查询
子查询和父查询的连接(先执行子查询,子查询的结果为父查询的查询条件)
- 比较子查询
子查询和父查询之间用比较运算符进行关联
ALL:表达式要与子查询结果集中每个值进行比较
SOME、AND:表达式只要与子查询结果集中某个值满足比较关系
- EXISTS子查询
只用于测试子查询是否返回行,若子查询返回一个或多个行,EXISTS返回TRUE,否则返回FALSE,NOT EXISTS返回值与EXISTS相反
八、联合查询
将两个或多个SQL语句的查询结果集合并起来,利用联合进行查询处理以完成特定的任务
(1)在构成联合查询的各个单独的查询中,列数和列的顺序必须匹配,数据类型必须兼容
(2)ORDER BY子句和LIMIT子句必须置于最后一条SELECT语句之后
MySQL数据查询(可视化界面 MySQL Workbench)相关推荐
- anemometer mysql_使用Anemometer基于pt-query-digest将MySQL慢查询可视化
最近玩MySQL,发现了一个很不错的工具,可以把MySQL慢查询可视化,方便我们去找出和分析慢询语句,搭建的步骤不多,但网上详细教程比较少,说得也不够详细,一不小心,估计得蛋痛一会,哈哈 Percon ...
- 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
本文主要介绍使用Anemometer基于pt-query-digest将MySQL慢查询可视化,因为网上资料相对较少,且都是英文的,遇到报错也没有相关的参考资料,因此写此文. 欢迎转载,请注明作者.出 ...
- 9.MySQL数据查询SQL
9.MySQL数据查询SQL 语法格式: select 字段列表|* from 表名 [where 搜索条件] [group by 分组字段 [having 分组条件]] [order by 排序字段 ...
- limit mysql 取最后_更优美的 limit 使用方法 (limit 对 mysql 数据查询的性能影响)
更优美的 limit 使用方法(limit 对 MySQL 数据查询的性能影响) 本文在 zhangyachen 的基础上重新排版 来源:zhangyachen 一,前言 首先说明一下 MySQL 的 ...
- MySQL数据查询语句
MySQL数据查询语句 MySQL 表单查询是指从一张表的数据中查询所需的数据,主要有查询所有字段.查询指定字段.查询指定记录.查询空值.多条件的查询.对查询结果进行排序分组等. 查询结构 SELEC ...
- 开启Mysql慢查询来优化mysql
开启Mysql慢查询来优化mysql 优化sql语句是优化数据库的一个很重要的方面,那么怎么发现那些耗时耗资源的sql语句呢,开启Mysql慢查询! 1.查看是否开启慢查询,默认情况下是关闭的.你的m ...
- MySQL在没有可视化界面下查看数据库内容
我们在使用mysql时,如果没有可视化界面,只能通过mysql自带的"黑框"来进行操作. 首先在打开对话框,系统提示我们输入密码,这里输入的密码我们只能看到"*" ...
- anemometer mysql_十分钟部署Anemometer作为Mysql慢查询可视化系统
前言 采用Anemometer将Mysql慢查询日志可视化,可以更便捷的查询慢查询日志,并根据时间戳进行历史查询.如下是单机版Anemometer部署的演示,实际应用中,为安全起见,建议把anemom ...
- 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解
主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...
- mysql 数据查询优化_优化MySQL数据库查询的三种方法
任何一位数据库程序员都会有这样的体会:高通信量的数据库驱动程序中,一条糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响. 如同其它学 ...
最新文章
- mac下nginx搭配php-fpm解析php文件
- 数据结构之堆Heap
- mac mysql使用_在Mac中安装和使用MySQL
- 基础练习 字母图形(找规律)
- 电影院票务管理系统数据库设计(2)
- 红外探头_问题3: 关于在线近红外光谱仪的探头
- 思杰20140522
- [一文一命令]ln命令详解
- 爱立信牵手微软,加速物联网全球生态
- WPF ComboBox样式
- 微课系列(四):Python中map对象的几种用法和注意事项
- 【链表】判断一个链表是否是回文链表
- 全网首发:制作LINUX安装软件包,要处理哪些系统目录和文件(1)
- MVPArms MVP快速集成框架
- Java高并发编程实战2,原子性、可见性、有序性,傻傻分不清
- xp激活30天到期_我的XP系统还剩30天激活怎么办
- php数字验证码代码,php中文字母数字验证码实现代码
- M-K趋势检验以及突变检验
- 关于libpthread.a静态链接缺少依赖问题
- 360 重磅开源性能监控平台 ArgusAPM
热门文章
- 【VRP】基于matlab遗传算法求解多中心车辆路径规划问题【含Matlab源码 1965期】
- python校正人脸_Python 进行人脸校正
- 20189220 余超《Linux内核原理与分析》第八周作业
- 【机器学习实战】k-近邻算法案例——改进约会网站的配对效果
- 关系数据理论(回顾关系模式、数据依赖、不规范的关系模式存在的问题、 函数依赖、非平凡函数依赖/平凡函数依赖、完全函数依赖/部分函数依赖定义、传递函数依赖,码)
- 使用客户端jedis时报错Could not get a resource from the pool 以及使用Spring Data Redis报错解决方法
- java发邮件的代码
- gil 简述_求职面试常见问题:Python常见面试题全解析附答案
- juniper官网相关网址
- 烦人的警告 libpng warning: iCCP: known incorrect sRGB profile