数据查询语言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. 获得最近一天的提交,并使用winscp上传到服务器

    @echo off D:\dev\Git\bin\git.exe pull origin master D:\dev\Git\bin\git.exe add -A D:\dev\Git\bin\git ...

  2. php 日期处理 DateTime

    获取所有的时区: print_r(timezone_abbreviations_list ()); 获取毫秒级时间戳 // php7.1+ always has microseconds enable ...

  3. shell脚本启动语法错误syntax error near unexpected token '{

    执行shell脚本时失败,报语法错误,但脚本内容检查正常 原因为该脚本是在非Linux系统下编辑之后放到系统执行的,文件模式类型非Linux系统匹配的模式类型. 查看文件的模式类型 显示文件的模式类型 ...

  4. RobotFrameWork系列免费课程-开课了~

    1. 背景介绍 有一段时间没有发表过文章了,一方面除了自己确实变得懒惰外,另一方面也确实有其它事情,无法抽出闲余时间来坚持写下去. 之前在博客园中,发表了关于<公开课一:Robot FrameW ...

  5. 基于R语言的时间序列指数模型

    时间序列: (或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列.时间序列分析的主要目的是根据已有的历史数据对未来进行预测.(百度百科) 主要考虑的因素: 1.长期趋势(Lon ...

  6. Python之练习数学运用代码

    1.对数函数 import math import matplotlib.pyplot as plt import numpy as np if __name__ == '__main__': x = ...

  7. SublimeText3追踪函数工具CTags设置及使用

    第一步:在 ST3 安装 CTags 插件 1. 在 ST3 快捷键 Crtl+Shift+P 然后输入 pci ,选择“ Package Control: Install Package ”启动安装 ...

  8. 使用PIP扩展BTARN

    下载安装部署 从GS1 US RosettaNet下载相应的PIP文件  新建BizTalk解决方案并设置签名 添加->现有项(C:\Program Files (x86)\Microsoft ...

  9. 【iCore4 双核心板_uC/OS-II】例程八:消息邮箱

    一.实验说明: 消息邮箱是uC/OS-II中的另一种通信机制,可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量.通常该指针指向一个包含了“消息”的特定数据结构.   二.实验截图:   ...

  10. Unix时间转LInux时间

    private static long getTime() { long currentTimeMillis = System.currentTimeMillis(); long nanoTime = ...