条件查询

使用Where进行数据筛选结果为True的会出现在结果集里面

select 字段  from 表名 where 条件;
# 例:
select * from test_table where id > 2; # 筛选出id大于2的所有字段

比较运算符

  • 等于=
  • 大于>
  • 大于等于>=
  • 小于<
  • 小于等于<=
  • 不等于!=或<>
# 例:
select * from test_table where id = 2; # 筛选出id等于2的所有字段
select * from test_table where id > 2; # 筛选出所有id大于2的所有字段
....

逻辑运算符

  • 与and
  • 或or
  • 非not
# 例:
select * from test_table where id > 2 and age<18; # 筛选出所有id大于2并且年龄小于18的所有字段
select * from test_table where id > 2 or age<18; # 筛选出所有id大于2或者年龄小于18的所有字段
select * from test_table where not(id > 2 and age<18); # 筛选出所有不是id>2并且年龄小于18的字段
....

模糊查询(like, rlike)

  • like 使用%或_来进行模糊查询

    • %s 表示任意多个字符
    • _表示一个任意字符
  • rlike 使用正则表达式来模糊查询
# 例:
select * from test_table where name like "小%" # 查询数据库中小开头的所有信息的所有字段
select * from test_table where name like "小_" # 查询数据库中所有小开头的两个字的所有字段
select * from test_table where name rlkie ".." # 查询数据库的两个字符的所有数据的所有字段

范围查询

  • in 表示在一个非连续的范围内
  • between …. and … 表示在一个连续的范围类
# 例
select * from test_table where id in (1,3,5) # 查询id编号为1,3,5的所有字段信息
select * from test_table where between 1 and 5 # 查询id编号为1到5之间的所有数据的所有字段信息

空判断

  • null 判断值是否为空
  • not null 判断值是否不为空
# 例:
select * from students where text is null; # 筛选出text字段为空的数据
select * from students where text is not null; # 筛选出text字段为不为空的数据

优先级

  • 小括号>not>比较运算符> 逻辑运算符
  • and 比 or先运算

聚合查询

这里需要使用到聚合函数,聚合函数有

  • count(*) 统计数量
  • max(字段) 最大值
  • min(字段) 最小值
  • sum(字段) 求和
  • avg(字段) 平均值
# 例:
select count(*) from test_table; # 可以直接得到一共有多少个数据
select max(id) from test_table; # 可以直接得到ID字段中最大的ID值为多少
select * from test_table where id = (select max(id) from test_table); # 可以直接使用聚合函数查询最大Id的所有的字段信息

分组查询

将数据按照字段进行分组,可以使用聚合函数对分组数据进行统计,关键字group by

# 例:
alter table test_table add tab int not null default 0; # 创建一个新的字段tab 默认为0
select tab from test_table group by tab; # 按照tab进行分组
# 分组后筛选数据
select tab, count(*) from test_table group by tab having tab=0;

对比where与having

  • where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
  • having是对group by的结果进行筛选

排序查询

语法:

select * from 表名 order by 字段1 asc|desc,字段2 asc|desc,...

关键字:order by

asc是从小到大排序、即升序

desc是从大到小排序、即降序

# 例:
select * from test_table order by id asc # 按照id从小到大排序
select * from test_table order bt id desc # 按照id 从大到小排序

分页查询

关键字:limit

​ start:开始的索引

​ count:取多少条数据

select * from 表名 limit start, count
# 例:
select * from test_table limit 0,5 # 去前5个数据

Mysql基础命令(二)select查询操作的更多相关文章

  1. MYSQL—— 基础入门,select 查询涉及到的关键字组合详解(进阶篇)

    SELECT查询组合使用的关键字很多,首先将最简单常用的关键字进行区分及使用,后续再继续补充............ 以下所有的关键字组合使用,主要以两个表students与students_scor ...

  2. MySQL基础(二)——DDL语句

    MySQL基础(二)--DDL语句 1.什么是DDL语句,以及DDL语句的作用 DDL语句时操作数据库对象的语句,这些操作包括create.drop.alter(创建.删除.修改)数据库对象. 2.基 ...

  3. mysql 基础入门 单表查询

    单表查询 select 表头,表头 as 别名 ,表头(+-*/的运算) from table_a 1.条件查询 where + 条件 <> , != 不等于 = 等于,也可以表示字符串值 ...

  4. mysql基础之对库表操作

    原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...

  5. 运维 04 Shell基础命令(二)

    Shell基础命令(二)   查看Linux的发行版 cat /etc/redhat-release cat /etc/os-release 查看系统用户的id信息 id 用户名 id root id ...

  6. Linux系统——MySQL基础(二)

    # MySQL数据库完全备份与恢复## 数据库备份的分类1. 从物理与逻辑的角度,备份可以分为物理备份和逻辑备份.(1)物理备份:对数据库操作系统的物理文件(数据文件.日志文件)的备份.物理备份又可分 ...

  7. MySQL基础命令

    目录: MySQL概述 安装及启动登陆mysql操作 MySQL基本数据类型 MySQL数据库基本SQL操作 MySQL高级SQL操作 一.MySQL概述 1.什么是数据库? 数据库(Database ...

  8. MySQL(三) 数据库表的查询操作【重要】

    序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对 ...

  9. 【MYSQL命令】mysql基础命令

    1.查询MYSQL当前用户命令:select user() mysql> select user(); +------------------------+ | user() | +------ ...

  10. mysql基础-数据库表简单查询-记录(五)

    0x01 MySQL的查询操作 单表查询:简单查询                 多表查询:连续查询                联合查询 选择和投影 投影:挑选要符合的字段     select ...

随机推荐

  1. 怎样使用 virt-viewer 远程访问 qemu 虚拟机 - 转载

    How to connect to a VM hosted on QEMU remotely using virt-viewer I couldn’t find comprehensive artic ...

  2. 【待补充】Spark 集群模式 && Spark Job 部署模式

    0. 说明 Spark 集群模式 && Spark Job 部署模式 1. Spark 集群模式 [ Local ] 使用一个 JVM 模拟 Spark 集群 [ Standalone ...

  3. 【转】Redis学习---哈希结构内存模型剖析

    [原文]https://www.toutiao.com/i6594624365906625032/ 概述 在前文<Redis字符串类型内部编码剖析>之中已经剖析过 Redis最基本的 St ...

  4. javascript模块导入导出

    第一次知道javascript有模块的概念通常都是使用<script>标签进行引入,不过只能在html文件上使用 增加的模块就如同php里的include.require可以使用引入的内容 ...

  5. unbuntu 安装python包提示E: Unable to locate package python-timeout

    今天本想着在unbuntu环境下安装python的一个包,安装了几次都提示 E: Unable to locate package python-timeout 查阅了一些信息才知道,原来是一些软件源 ...

  6. COM动态添加删除成员,类似JavaScript中调用的对象

    在JavaScript中调用对象时,可动态添加删除成员如: var obj=new Object; obj.member1='aaaaa'; obj.fun1=function() { alert(' ...

  7. leaflet学习一 入门

    1从官网https://leafletjs.com/下载的Leaflet包含文件: leaflet.js - 简化版的 Leaflet JavaScript代码 leaflet-src.js - 这是 ...

  8. XtraEditors六、ListBoxControl、CheckedListBoxControl、ImageListBoxControl

    ListBoxControl 效果如下: 示例代码: string[] girlArr = { "面码", "Saber", "Mathilda&qu ...

  9. 团队作业8-测试与发布(beta阶段)

    小组成员 [组长]金盛昌(201421122043).刘文钊(20142112255).陈笑林(201421122042) 张俊逸(201421122044).陈志建(201421122040).陈金 ...

  10. 通过HttpClient调用服务

    /** * 通过HttpClient调用服务 * * @param url 路径 * data json数据 * @return */ //post请求方法public String sendItsm ...