数据查询语言DQL

select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];

where中可用的运算符:

算术运算符: +  -  *  /   %

比较运算符: >   >=   <    <=   =(等于)   <>(不等于)

==(等于,mysql扩展),!=(不等于,mysql扩展)

逻辑运算符: and(与)  or(或)   not(非)

between语法:

XX  between  值1  and   值2;

in语法:XX in (1,2,3,4,5)        XX not in ()

like语法(模糊查找):

语法形式: XX like  ‘要查找字符’;

说明:

1,like语法(模糊查找)用于对字符类型的字段进行字符匹配查找

2,要查找的字符中,有2个特殊含义的字符:

2.1:  %   其含义是:代表任意个数的任意字符

2.2:  _   其含义是:代表1个的任意字符

2.3:这里的字符,都是指现实中可见的一个“符号”,而不是字节。

3,实际应用中的模糊查找,通常都是这样:like ‘%关键字%’;

group  by  分组子句

count(*):  统计一组中的数量,通常用“*”做参数

max(字段名):获取该字段中在该组中的最大值。

min(字段名):获取该字段中在该组中的最小值。

sum(字段名):获取该字段中在该组中的总和。

avg(字段名):获取该字段中在该组中的平均值。

group_concat(字段名):获取该分组内的这个字段所有信息,每条逗号分隔

having子句

select count(*) as f1 , max(f1) as f2  from tab1  group by f3 having f1 > 5 and  f2 < 1000;

Order by子句

order  by  排序字段1  [排序方式],  排序字段2  [排序方式], .....

说明:

对前面取得的数据(含from子句,where子句,group子句,having子句的所有结果)来指定按某个字段的大小进行排列(排序),排序只有2种方式:

正序: ASC(默认值),可以省略

倒序: DESC

limit子句

形式:

limit   [起始行号start], 要取出的行数num

子查询

把一个查询的结果当作另一个查询的条件

连接查询   对列的扩展

一个两列的表加上一个三列的表连接查询出一个五列的表

连接方式

左右两张表的数据量不同,多出来的或者少的在同一行上怎么显示

联合查询  对行的扩展

两张表的相同字段查出多条数据

MySQL数据查询的更多相关文章

  1. nodejs mysql 数据查询例子

    1.安装nodejs 2.安装mysql  npm包 地址:https://github.com/felixge/node-mysql npm install mysql 3.相应API查看及调用: ...

  2. MySQL数据查询之单表查询

    单表查询 简单查询 - 创建表 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCREMEN ...

  3. mysql 数据查询全讲

    数据查询 涉及到DQL(Data Query Language)是sql语句的一类 本文全面介绍了mysql下 select 语句的各种查询方式:普通查询,模糊查询,查询排序,分页查询,聚合函数查询  ...

  4. MySQL - 数据查询 - 简单查询

    1. 简述 查询数据是指从数据库中获取所需要的数据.如Jack 要达到验证用户名和密码的目的,就需要从数据库已保存的用户表中读取当前用户的密码进行验证,以验明正身!保存查询数据是数据库操作中常用且重要 ...

  5. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  6. Packets larger than max_allowed_packet are not allowed(mysql数据查询提示:不允许超过允许的最大数据包)解决方案

    问题背景: 首先我的项目运用的时Mysql,在做一个数据更新操作的时候,提示异常:System.Exception:“ExecuteNonQuery:Packets larger than max_a ...

  7. MySQL数据查询之多表查询

    多表查询 多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment PRIMARY KEY, dna ...

  8. MySql数据查询的逻辑蕴含条件问题

    SQL语言中没有蕴含逻辑运算.但是,可以利用谓词演算将一个逻辑蕴含的谓词等价转换为:p->q ≡┐p∨q. 我们通过一个具体的题目来分析:(具体的表和数据详见文章:Mysql数据库中的EXIST ...

  9. 笔记-4:mysql数据查询

    1.创建查询表 1.1 创建班级表 含义 字段名 数据类型 宽度 班级编号 classNo 字符型 6 班级名称 className 字符型 20 所属院系 department 字符型 30 年级 ...

随机推荐

  1. cd4与cd8比值的意义

    正常情况下CD4/CD8比值介于1.5—2.5之间,如CD4是每微升血750个,CD8是每微升血460个,这样两者的比值就是1.63. 虽然95%的正常人CD4/CD8的比值都在1以上,但是也有一些正 ...

  2. Spring Cloud Netflix Zuul 重试会自动跳过经常超时的服务实例的简单说明和分析

    在使用E版本的Spring Cloud Netflix Zuul内置的Ribbon重试功能时,发现Ribbon有一个非常有用的特性: 如果某个服务的某个实例经常需要重试,Ribbon则会在自己维护的一 ...

  3. 《图解HTTP》——返回结果的 HTTP 状态码

    状态码概述 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误. 状态码如 200 OK,以 3 位数字和原因短语组成.数 ...

  4. centos7 安装curl-7.51.0

    curl简介curl是一个广泛使用的用来上传和下载的命令行工具,当然严格来讲,它还可以有别的用途.对于测试来讲,它是Web相关测试非常实用的工具,包括debugging,使用起来非常方便.而且另一方面 ...

  5. server后台TCP连接存活问题

    公司的server后台部署在某一个地方,接入的是用户的APP,而该地方的网络信号较差,导致了server后台在执行一段时间后用户无法接入,那边的同事反馈使用netstat查看系统.存在较多的TCP连接 ...

  6. 在Java路上,我看过的一些书、源码和框架(转)

    原文地址:http://www.jianshu.com/p/4a41ee88bd82 物有本末,事有终始,知所先后,则近道矣 面试经历 关于Java面试,你应该准备这些知识点关于Java面试,你应该准 ...

  7. jd-gui在Ubuntu上打不开

    你在 ubuntu13.10上 安装了最新版本的 jd-gui 但是它跑不起来怎么办? 请执行如下指令: sudo apt-get install libgtk2.0-0:i386 libxxf86v ...

  8. mac os下不同工具go env下gopath显示不同

    设置 vim ~/.zshrc 设置 vim ~/.bash_profile

  9. PCL点云分割(3)

    (1)Euclidean分割 欧几里德分割法是最简单的.检查两点之间的距离.如果小于阈值,则两者被认为属于同一簇.它的工作原理就像一个洪水填充算法:在点云中的一个点被“标记”则表示为选择在一个的集群中 ...

  10. ZipUtil

    /* * To change this license header, choose License Headers in Project Properties. * To change this t ...