一、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子句所指定的条件中,可以使用另一个查询块嵌套查询

  1. IN子查询

子查询和父查询的连接(先执行子查询,子查询的结果为父查询的查询条件)

  1. 比较子查询

子查询和父查询之间用比较运算符进行关联

ALL:表达式要与子查询结果集中每个值进行比较

SOME、AND:表达式只要与子查询结果集中某个值满足比较关系

  1. EXISTS子查询

只用于测试子查询是否返回行,若子查询返回一个或多个行,EXISTS返回TRUE,否则返回FALSE,NOT EXISTS返回值与EXISTS相反

八、联合查询

将两个或多个SQL语句的查询结果集合并起来,利用联合进行查询处理以完成特定的任务

(1)在构成联合查询的各个单独的查询中,列数和列的顺序必须匹配,数据类型必须兼容

(2)ORDER BY子句和LIMIT子句必须置于最后一条SELECT语句之后

MySQL数据查询(可视化界面 MySQL Workbench)相关推荐

  1. anemometer mysql_使用Anemometer基于pt-query-digest将MySQL慢查询可视化

    最近玩MySQL,发现了一个很不错的工具,可以把MySQL慢查询可视化,方便我们去找出和分析慢询语句,搭建的步骤不多,但网上详细教程比较少,说得也不够详细,一不小心,估计得蛋痛一会,哈哈 Percon ...

  2. 使用Anemometer基于pt-query-digest将MySQL慢查询可视化

    本文主要介绍使用Anemometer基于pt-query-digest将MySQL慢查询可视化,因为网上资料相对较少,且都是英文的,遇到报错也没有相关的参考资料,因此写此文. 欢迎转载,请注明作者.出 ...

  3. 9.MySQL数据查询SQL

    9.MySQL数据查询SQL 语法格式: select 字段列表|* from 表名 [where 搜索条件] [group by 分组字段 [having 分组条件]] [order by 排序字段 ...

  4. limit mysql 取最后_更优美的 limit 使用方法 (limit 对 mysql 数据查询的性能影响)

    更优美的 limit 使用方法(limit 对 MySQL 数据查询的性能影响) 本文在 zhangyachen 的基础上重新排版 来源:zhangyachen 一,前言 首先说明一下 MySQL 的 ...

  5. MySQL数据查询语句

    MySQL数据查询语句 MySQL 表单查询是指从一张表的数据中查询所需的数据,主要有查询所有字段.查询指定字段.查询指定记录.查询空值.多条件的查询.对查询结果进行排序分组等. 查询结构 SELEC ...

  6. 开启Mysql慢查询来优化mysql

    开启Mysql慢查询来优化mysql 优化sql语句是优化数据库的一个很重要的方面,那么怎么发现那些耗时耗资源的sql语句呢,开启Mysql慢查询! 1.查看是否开启慢查询,默认情况下是关闭的.你的m ...

  7. MySQL在没有可视化界面下查看数据库内容

    我们在使用mysql时,如果没有可视化界面,只能通过mysql自带的"黑框"来进行操作. 首先在打开对话框,系统提示我们输入密码,这里输入的密码我们只能看到"*" ...

  8. anemometer mysql_十分钟部署Anemometer作为Mysql慢查询可视化系统

    前言 采用Anemometer将Mysql慢查询日志可视化,可以更便捷的查询慢查询日志,并根据时间戳进行历史查询.如下是单机版Anemometer部署的演示,实际应用中,为安全起见,建议把anemom ...

  9. 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解

    主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...

  10. mysql 数据查询优化_优化MySQL数据库查询的三种方法

    任何一位数据库程序员都会有这样的体会:高通信量的数据库驱动程序中,一条糟糕的SQL查询语句可对整个应用程序的运行产生严重的影响,其不仅消耗掉更多的数据库时间,且它将对其他应用组件产生影响. 如同其它学 ...

最新文章

  1. mac下nginx搭配php-fpm解析php文件
  2. 数据结构之堆Heap
  3. mac mysql使用_在Mac中安装和使用MySQL
  4. 基础练习 字母图形(找规律)
  5. 电影院票务管理系统数据库设计(2)
  6. 红外探头_问题3: 关于在线近红外光谱仪的探头
  7. 思杰20140522
  8. [一文一命令]ln命令详解
  9. 爱立信牵手微软,加速物联网全球生态
  10. WPF ComboBox样式
  11. 微课系列(四):Python中map对象的几种用法和注意事项
  12. 【链表】判断一个链表是否是回文链表
  13. 全网首发:制作LINUX安装软件包,要处理哪些系统目录和文件(1)
  14. MVPArms MVP快速集成框架
  15. Java高并发编程实战2,原子性、可见性、有序性,傻傻分不清
  16. xp激活30天到期_我的XP系统还剩30天激活怎么办
  17. php数字验证码代码,php中文字母数字验证码实现代码
  18. M-K趋势检验以及突变检验
  19. 关于libpthread.a静态链接缺少依赖问题
  20. 360 重磅开源性能监控平台 ArgusAPM

热门文章

  1. 【VRP】基于matlab遗传算法求解多中心车辆路径规划问题【含Matlab源码 1965期】
  2. python校正人脸_Python 进行人脸校正
  3. 20189220 余超《Linux内核原理与分析》第八周作业
  4. 【机器学习实战】k-近邻算法案例——改进约会网站的配对效果
  5. 关系数据理论(回顾关系模式、数据依赖、不规范的关系模式存在的问题、 函数依赖、非平凡函数依赖/平凡函数依赖、完全函数依赖/部分函数依赖定义、传递函数依赖,码)
  6. 使用客户端jedis时报错Could not get a resource from the pool 以及使用Spring Data Redis报错解决方法
  7. java发邮件的代码
  8. gil 简述_求职面试常见问题:Python常见面试题全解析附答案
  9. juniper官网相关网址
  10. 烦人的警告 libpng warning: iCCP: known incorrect sRGB profile