条件查询

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

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

比较运算符

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

逻辑运算符

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

模糊查询(like, rlike)

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

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

范围查询

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

空判断

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

优先级

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

聚合查询

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

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

分组查询

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

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

对比where与having

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

排序查询

语法:

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

关键字:order by

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

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

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

分页查询

关键字:limit

​ start:开始的索引

​ count:取多少条数据

  1. select * from 表名 limit start, count
  2. # 例:
  3. 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. PHP 8中数据类型

    PHP  一共支持八种数据类型 4种标量数据类型 boolean布尔型   只有两个值  true 和  flase integer整形  包括正整数和负整数,无小数位 float/double 浮点 ...

  2. [IDEA_2] IDEA 问题合集

    1. IDEA 通过 Maven 导入的依赖包下面存在红色波浪线 问题描述: 创建的 Maven Project 在添加相关依赖后自动下载,自动添加的依赖包的下面存在红色波浪线,在使用过程中存在问题, ...

  3. November 15th, 2017 Week 46th Wednesday

    Of all the tribulations in this world, boredom is the one most hard to bear. 所有的苦难中,无聊是最难以忍受的. When ...

  4. PyQt5--Position

    # -*- coding:utf-8 -*- ''' Created on Sep 13, 2018 @author: SaShuangYiBing ''' import sys from PyQt5 ...

  5. Ubuntu集群 配置ntp服务

    1.概述 NTP(Network Time Protocol)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN ...

  6. linux下apache中httpd.conf的ServerAdmin 是设置的什么?

    <VirtualHost 127.0.0.1:80> ServerAdmin ******@****.com DocumentRoot /home/aaa/sss ServerName s ...

  7. ethereum/EIPs-725

    https://github.com/ethereum/EIPs/blob/master/EIPS/eip-725.md eip title author discussions-to status ...

  8. 11.C++和C的区别,什么是面向对象

    c++封装更好,调用接口,c调用子函数 1.首先C和C++在基础语句上没有太大区别,c++在c基础上改进,兼容大部分c的语法结构.c++面向对象,c面向过程. 2.新增new和delete的语法,引用 ...

  9. pycharm 取消空格,逗号 等符号的自动补全

  10. input全选与单选(把相应的value放入隐藏域去)

    框架是Jquery 需求是: 页面上有很多复选框,1.当我选择一项复选框时候 把对应的值放入到隐藏域去 2.当我反选的时候 把隐藏域对应的值删掉.3.当我全选的时候 页面上所有的选择框的值一起放到隐藏 ...