• 排序 :order by  desc

      select * from <tablename> order by <字段名> desc;order by默认升序 desc 降序

  • 分组 :group by 按照字段进行分组

      select  <查询内容> from <tablename> group by <字段名> ;

  • 空值 and 非空值 :null ,not null 查询字段为空或者非空的记录

      select <查询内容> from <tablename> where <字段名> is null not null  ;

常用的聚合汇总函数

  • max and min :返回某列最大最小值

      select max(字段名) , min(字段名) from <tablename>;

  • count :返回某列记录数

      select count(*) from <tablename>;

  • sum :返回某列之和

      select sum(字段名) from <tablename>;

  • avg :返回某列平均值

      select avg(字段名) from <tablename>;

其他操作

  • and or : 在where子语句中将多个条件结合起来 and 优先级高于or

      select * from <tablename> where 条件1 and 条件2 or 条件3;

  • like : 在where子语句中,搜索匹配字段的指定内容,通常与%通配符连用

      select * from <tablename> where <字段名> like "%匹配内容%" ;

      Tips:匹配内容MySQL不区分大小写,若想严格区分大小写,利用binary关键字。

      select * from <tablename> where <字段名> like binary "%匹配内容%" ;

  • in not in :类似于python中的成员运算符,用于查找在范围内的记录

      select * from <tablename> where <字段名> in not in(" 属性值1 "," 属性值2 ") ;

  • date_format : 按照指定日期格式输出

      select date_format(birthdate,'%Y-%m') from <tablename> ; 日期按照年-月输出

  • distinct :去除重复值

      select count(distinct 字段名) from <tablename>;

  • between :where子语句后,规定某字段查询区间

      select * from <tablename> where <字段名> between ' 范围1' and '范围2 ';

  • having :与where类似,同为条件筛选语句。

      select count(*) from <tablename> where '条件1' group by <字段名> having '条件2' ;

      having 与 where区别:执行优先级 where > 聚合函数(count sum max)>having

                 where子句是在分组之前过滤数据,条件中不能包含聚合函数。

                 having子句是对分组之后过滤数据,条件中经常包含聚合函数。

  • union:多个查询结果做并集

      select <字段名> from <tablename>

      union

      select <字段名> from <tablename>

MySQL条件分支

  CASE column

    WHEN 条件1 THEN 表达式1

    WHEN 条件2 THEN 表达式2

    ...

  ELSE 表达式

  END AS column_alias ;

2020-03-12 15:35

MySQL学习之路5-数据表的常用操作的更多相关文章

  1. MySQL学习笔记_4_MySQL创建数据表(下)

    MySQL创建数据表(下) 五.数据表类型及存储位置 1.MySQL与大多数数据库不同,MySQL有一个存储引擎概念.MySQL可以针对不同的存储需求选择不同的存储引擎. 2. showengines ...

  2. MySQL学习笔记_2_MySQL创建数据表(上)

    MySQL创建数据表(上) 一.创建数据表的SQL语句模型[弱类型] CREATETABLE [IF NOT EXISTS] 表名称( 字段名1列的类型[属性][索引], 字段名2 列的类型[属性][ ...

  3. MySQL学习笔记_3_MySQL创建数据表(中)

    MySQL创建数据表(中) 三.数据字段属性 1.unsigned[无符号] 可以让空间增加一倍 比如可以让-128-127增加到0-255 注意:只能用在数值型字段 2.zerofill[前导零] ...

  4. mysql学习(八)数据表类型-字符集

    数据存储引擎: MyISAM:强化快速读取操作. 也有缺点.一些功能不支持 InnoDB:支持一些MyIASM一些不支持的功能                 缺点:占用空间大 对比          ...

  5. MySQL学习(三): 初识数据表

    打开数据库: USE db_name : 打开数据库. 创建数据表: 查看数据表: 查看数据表结构: 数据简单的插入与查找: 插入:INSERT [INTO] tbl_name [(col_name) ...

  6. MySQL学习(一) 数据表基本操作

    创建数据库:create database db_name 查看数据库结构:show create database db_name 删除数据库:drop database db_name 查看数据库 ...

  7. sql server建库建表(数据库和数据表的常用操作)

    数据库和数据表 (开发常用 操作) 一,数据库的创建 一个SQLServer 是由两个文件组成的:数据文件(mdf) 和日志文件(ldf),所以我们创建数据库就是要为其指定数据库名.数据文件和日志文件 ...

  8. MySQL学习之路6-数据表连接方式

    内连接 关键字: inner join  on 语句:select * from <a_table> inner join <b_table> on a.id = b.id ; ...

  9. MySQL学习之路(一)——初涉MySQL。

    MySQL学习之路(一) 1.1MySQL的概述 MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一个开源的关系型数据库管理系统. MySQL分为社区版和企业版. 1 ...

随机推荐

  1. 【Python】2.19学习笔记 成员运算符,身份运算符,运算符优先级

    成员运算符 暂时不会用,等学链表时再补充 \(in\) 与 \(not in\) \(in\):如果在指定序列中找到指定值,则返回\(true\) \(not in\):如果在指定序列中找到指定值,则 ...

  2. Python基础篇(一)_基本语法元素

    Python基础篇——基本语法元素 缩进:体现强制可读性,一般缩进4个空格.一个或多个Tab 注释:单行注释----以 # 开头 多行注释----每行以 # 开头,以 # 结束 变量:无须提前声明.可 ...

  3. 面试官再问我如何保证 RocketMQ 不丢失消息,这回我笑了!

    最近看了 @JavaGuide 发布的一篇『面试官问我如何保证Kafka不丢失消息?我哭了!』,这篇文章承接这个主题,来聊聊如何保证 RocketMQ 不丢失消息. 0x00. 消息的发送流程 一条消 ...

  4. .NET Core技术研究-HttpContext访问的正确姿势

    将ASP.NET升级到ASP.NET Core之后,相信大家都会遇到HttpContext.Current无法使用的问题.这也是我们迁移ASP.NET Core必须解决的问题. 本文我们详细讨论一下, ...

  5. SQL的分类使用(增删改查)

    1.SQL的分类使用(*代表重点的程度)    DDL ** (Data Definition Language)数据库定义语言        用来定义数据库对象: 库 表 列 等    DCL (D ...

  6. hdu3367最大伪森林(并查集)

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3367/ 题目要求一个连通图的最大伪森林,伪森林是一个最多有一个回路的图.我们只要用Kruskal最大生成树的策略 ...

  7. SpringMVC最详细笔记partⅠ

    一.springMVC-quickStar 解决maven加载项目过慢 archetypeCatalog internal 导入依赖 <!-- 版本锁定 --> <propertie ...

  8. 简单理解vertical-align属性和基线问题

    vertical-align属性主要用于改变行内元素的对齐方式,对于行内布局影响很大,如果不了解的话,我们开发调整样式的时候很容易出错. 网上关于这个属性的原理说得很是复杂,看一眼就让人觉得望而生畏, ...

  9. [React]Context机制

    在React中,Context机制是为了方便在组件树间传递数据. 例子 import React from 'react' const themes={ light:"亮色主题", ...

  10. 在linux虚拟机上安装docker并安装mysql

    步骤 1.检查内核版本,必须是3.10及以上 uname -r 2.安装docker yum install docker 3.输入y确认安装 4.启动docker systemctl start d ...