1、聚合函数

1、分类
  avg(字段名) : 求该字段平均值
  sum(字段名) : 求和
  max(字段名) : 最大值
  min(字段名) : 最小值
  count(字段名) : 统计该字段记录的个数
2、示例
  1、攻击力最强值是多少
    select max(gongji) from MOSHOU.sanguo;
  2、统计id 、name 两个字段分别有几条记录
    select count(id),count(name) from sanguo;
    ## 空值 NULL 不会被统计,""会被统计

  3、计算蜀国英雄的总攻击力
    select sum(gongji) from MOSHOU.sanguo
    where country="蜀国";
  4、统计蜀国英雄中攻击值大于200的英雄的数量
    select count(*) from MOSHOU.sanguo
    where gongji>200 and country="蜀国";

4、运算符操作

1、数值比较/字符比较
    1、数值比较 := != > >= < <=
    2、字符比较 := !=
    3、练习
      1、查找攻击力高于150的英雄的名字和攻击值
        select name,gongji from sanguo where gongji>150;
      2、将赵云的攻击力设置为360,防御力设置为68
        update sanguo set gongji=360,fangyu=68
        where name="赵云";

5、查询表记录时做数学运算
  1、运算符
    + - * / % 
  2、示例
    1、查询时所有英雄攻击力翻倍
      select id,name,gongji*2 as gj from sanguo;
2、逻辑比较
    1、and (两个或多个条件同时成立)
    2、or (任意一个条件成立即可)
    3、练习
      1、找出攻击值高于200的蜀国英雄的名字、攻击力
        select name as n,gongji as g from sanguo
        where gongji>200 and country="蜀国";
      2、将吴国英雄中攻击值为110的英雄的攻击值改为100,防御力改为60
        update sanguo set gongji=100,fangyu=60
        where country="吴国" and gongji=110;
      3、查找蜀国和魏国的英雄信息
        select * from sanguo 
        where country="蜀国" or country="魏国";
3、范围内比较
1、between 值1 and 值2
2、where 字段名 in(值1,值2,...)
3、where 字段名 not in(值1,值2,...)
4、练习
      1、查找攻击值100-200的蜀国英雄信息
        select * from sanguo
        where gongji between 100 and 200 and
        country="蜀国";
      2、找到蜀国和吴国以外的国家的女英雄信息
        select * from sanguo
        where country not in("蜀国","吴国") 
        and sex="女";
      3、找到id为1、3或5的蜀国英雄 和 貂蝉的信息
        select * from sanguo
        where 
        (id in(1,3,5) and country="蜀国") or name="貂蝉";
      4、匹配空、非空
        1、空 :where name is null
        2、非空:where name is not null
        3、示例
          1、姓名为NULL值的蜀国女英雄信息
            select * from sanguo
            where
            name is null and country="蜀国" and sex="女";
          2、姓名为 "" 的英雄信息
            select * from sanguo where name="";
        4、注意
          1、NULL :空值,只能用 is 或者 is not 去匹配
          2、"" :空字符串,用 = 或者 != 去匹配
        5、模糊比较
          1、where 字段名 like 表达式
          2、表达式 
            1、_ : 匹配单个字符
            2、% : 匹配0到多个字符
          3、示例
          select name from sanguo where name like "_%_";
          select name from sanguo where name like "%";
          ## NULL不会被统计,只能用is、is not去匹配
          select name from sanguo where name like "___";
          select name from sanguo where name like "赵%";

3、约束

  1、作用 :保证数据的完整性、一致性、有效性
  2、约束分类
    1、默认约束(default)
      1、插入记录,不给该字段赋值,则使用默认值
    2、非空约束(not NULL)
      1、不允许该字段的值有NULL记录
      sex enum("M","F","S") not null defalut "S"

4、表的复制

1、语法
  create table 表名 select .. from 表名 where 条件;
2、示例
1、复制MOSHOU.sanguo表的全部记录和字段,sanguo2
  create table sanguo2
  select * from MOSHOU.sanguo;
2、复制MOSHOU.sanguo表的前3条记录,sanguo3
  create table sanguo3
  select * from MOSHOU.sanguo limit 3;
3、复制MOSHOU.sanguo表的id,name,country三个字段的前5条记录,sanguo4
  create table sanguo4
  select id,name,country from MOSHOU.sanguo limit 5;
3、复制表结构
  create table 表名 select * from 表名 where false;
1、复制 jftab 的表结构,jftab2
  desc jftab2;
  desc jftab;
4、注意
  复制表的时候不会把原表的 键(key) 属性复制过来

MySQL 聚合函数、运算符操作、约束、表的复制的更多相关文章

  1. 第08章 MySQL聚合函数

    第08章 MySQL聚合函数 我们上一章讲到了 SQL 单行函数.实际上 SQL 函数还有一类,叫做聚合(或聚集.分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值. 1 ...

  2. MySQL聚合函数、控制流程函数(含navicat软件的介绍)

    MySQL聚合函数.控制流程函数(含navicat软件的介绍) 一.navicat的引入:(第三方可视化的客户端,方便MySQL数据库的管理和维护) NavicatTM是一套快速.可靠并价格相宜的数据 ...

  3. Mysql聚合函数count(*) 的性能分析

    你首先要明确的是,在不同的 MySQL 引擎中,count(*) 有不同的实现方式. MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个数,效率很高: 而 ...

  4. MySQL 聚合函数(一)聚合(组合)函数概述

    MySQL版本:5.7+ 本节介绍对值的集合进行操作的组合(聚合)函数.翻译自:Aggregate (GROUP BY) Function Descriptions 一.MySQL 5.7中的聚合函数 ...

  5. 史上最全的mysql聚合函数总结(与分组一起使用)

    1.首先我们需要了解下什么是聚合函数 聚合函数aggregation function又称为组函数. 认情况下 聚合函数会对当前所在表当做一个组进行统计. 2.聚合函数的特点 1.每个组函数接收一个参 ...

  6. MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. Mysql 聚合函数返回NULL

    [1]聚合函数返回NULL 当where条件不满足时,聚合函数sum().avg()的返回值为NULL. (1)源数据表 (2)如下SQL语句 SELECT sClass, COUNT(*) AS t ...

  8. MySQL聚合函数、控制流程函数

    [正文] 一.navicat的引入:(第三方可视化的客户端,方便MySQL数据库的管理和维护) NavicatTM是一套快速.可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设 ...

  9. MySQL常见的库操作,表操作,数据操作集锦及一些注意事项

    一 库操作(文件夹) 1 数据库命名规则 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用关键字如 create select 不能单独使用数字 最长128位 2 数据库相关操作 创 ...

随机推荐

  1. Django中构造响应对象的方式

    1 HttpResponse 可以使用django.http.HttpResponse来构造响应对象. HttpResponse(content=响应体, content_type=响应体数据类型, ...

  2. PostgreSQL逻辑复制使用记录

    之前逻辑复制刚刚出来的时候就使用过,但是没有进行整理,这次一个项目需要逻辑复制的自动迁移,再次拾起逻辑复制. 在此之前有两个疑问: 1)同一个表,既有流复制,又有逻辑复制,这样数据会有两份吗? --不 ...

  3. 网络请求工具 cURL

    网络请求工具 cURL 2017-08-16 cRUL 是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在“标准输出”(stdout)上面. 查看网页源码 1 $ curl baidu. ...

  4. About libcurl and cURL in PHP

    今天在学习php时遇到要调用curl 库函数对特定url字符串进行访问操作,需要自己写一个方法进行调用,之前在linux系统中也有用到cURL 命令行工具执行对相关资源的获取,在wiki上找到了如下的 ...

  5. IR Cut Filter

    IR cut filter,即红外截止滤光片,它放在于LENS与Sensor之间.因人眼与CMOS Sensor对各波长的响应不同,人眼看不到红外光但sensor会感应,因此需要IR cut filt ...

  6. iOS开发心得

    一步一步来,慢慢走. 正如昨天黄大哥所说:全身心地投入,遇到喜欢的工作更好,遇到不喜欢的工作那就把它当作一种能力的培养.坚持坚持!!!

  7. 【剑指offer】第一个只出现一次的字符

    原创博文,转载请注明出处!本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 1.题目 2.思路 空间换时间.建立一个哈希表,第一次扫描字符串时,统计每个字符的出现次数.第二次扫描字符 ...

  8. 【Git】Git的正确学习方式

    Git学习笔记 学习资料 git init git status git log 可以查看提交历史 git reset --hard commit_id git reflog查看命令历史 git ad ...

  9. daemon Thread

    1.概念 守护进程(daemon)是指在UNIX或其他多任务操作系统中在后台执行的电脑程序,并不会接受电脑用户的直接操控.此类程序会被以进程的形式初始化.守护进程程序的名称通常以字母“d”结尾:例如, ...

  10. BZOJ1015: [JSOI2008]星球大战starwar【并查集】【傻逼题】

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过 ...