函数

COUNT()/计数、MIN()/最小值、MAX()/最大值、AVG()/平均值、SUM()/和

子句

子句是语句的一部分包括WHERE、GROUP、ORDER、LIMIT

  • WHERE:条件

  • GROUP:合并(聚类,其实就是合并相同的)

  • ORDER:排序

  • LIMIT:限制(限制输出)

WHERE

  • WHERE name='blue'

  • WHERE age>18

  • WHERE age<=18

  • WHERE age>=18 AND score<60

  • WHERE cach>100 OR score>10000

删-DELETE

DELETE FROM 表 WHERE 条件; 删除表中指定的一条数据

DELETE FROM `user_table` WHERE ID='${res.query.id}'; 根据指定的id删除指定一条数据的所有字段

注意:没有办法只删除一个字段,只能是删除一行

改-UPDATE

UPDATE 表 SET 字段=值,字段=值,...WHERE 条件;

UPDATE `article_data` SET `n_like=n_like+1` WHERE ID=xxx; 根据指定的id更新指定数据的n_like字段

查-SELECT

SELECT * FROM 表 WHERE 条件;

SELECT * FROM `user_table` WHERE ID='${res.query.id}'; 根据指定的id查询指定数据的所有字段

注意:不加WHERE就是操作整张表,除了INSERT都可以用WHERE

GROUP

  • GROUP BY class

  • GROUP BY name

查-SELECT

SELECT * FROM 表 GROUP BY 字段;

SELECT * FROM student_table GROUP BY class; 表示以class为依据进行分组,只要是class相同的就一定会合并起来,相同的class只留一条数据,做了一个去重

SELECT class,COUNT(class) FROM student_table GROUP BY class; 只查询class字段,以class为依据进行分组,并对相同的class进行计数

SELECT class,AVG(score) FROM student_table GROUP BY class; 查询得到每个班级平均值

SELECT class,MAX(score),MIN(score) FROM student_table GROUP BY class; 查询得到每个班级最高最低分

SELECT name,SUM(price) FROM sales_table GROUP BY name;  查询得到每个人的消费总额

注意:GROUP单独用没有什么意义我们应该配合函数来用(COUNT/计数、MIN/最小值、MAX/最大值、AVG/平均值、SUM/和)

ORDER

  • ORDER BY age ASC

  • ORDER BY age DESC

  • ORDER BY SUM(price)

ASC-升序(从小到大)/DESC-降序(从大到小)

查-SELECT

SELECT * FROM 表 ORDER BY 字段 ASC;  单一条件排序

SELECT * FROM 表 ORDER BY 字段 ASC ,字段 DESC; 多条件排序

SELECT * FROM student_table ORDER BY price DESC; 查询表中数据并以price为准降序排列

SELECT * FROM 表 ORDER BY price ASC, sales DESC; 查询表中数据并以price为准升序排列,price相同以sales为准降序排列

SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) DESC;  查询得到每个人的消费总额按照降序排列

SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) ASC;  查询得到每个人的消费总额按照升序排列

LIMIT

  • LIMIT 10; 前10条

  • LIMIT 5,8; 从5开始,要8个

查-SELECT

SELECT *  FROM 表 LIMIT 数字;

SELECT *  FROM student_table LIMIT 2; 查询表中的前两条数据

分页

方法一:所有数据给前端,前端来控制每页数据(数据量大不靠谱)

方法二:后台只给一丁点数据,后端来控制每页数据(实际上就是在数据库里就限制)

使用方法二如果想要做分页,每页20条数据:

  • 第1页 limit 0,20 0~19

  • 第2页 limit 20,20 20~39

  • 第3页 limit 40,20

  • 第n页 limit (n-1)*20,20

子句之间的顺序

子句之间是有顺序的:WHERE GROUP ORDER LIMIT

注释:没有的可以不写

实例:

SELECT class,COUNT(class) FROM student_table

WHERE score>60

GROUP BY class

ORDER BY COUNT(class) DESC

LIMIT 2;

SQL学习(三)之子句和函数的更多相关文章

  1. SQL学习(三) 复杂查询

    我们本节考察的数据库如下所示: 3.1 创建出满足下述三个条件的视图(视图名称为 ViewPractice5_1).使用 product(商品)表作为参照表,假设表中包含初始状态的 8 行数据. 条件 ...

  2. 【SQL学习笔记】排名开窗函数,聚合开窗函数(Over by)

    处理一些分组后,该组按照某列排序后 ,取其中某条完整数据的问题. 或 按照其中不同列分组后的聚合 比如 sum,avg之类. MSDN上语法: Ranking Window Functions < ...

  3. SQL学习之SELECT子句顺序

    下面来总计下之前的随笔中所说过的所有的SELECT子句的顺序. 子句 说明 是否必须使用 SELECT                  要返回的列或者表达式                      ...

  4. React 学习(三) ---- state 和 事件处理函数

    在上两节中,我们讲述了props, 组件使用props进行渲染,但是这是一次性的, props渲染完成之后就不做任何事情了,但是现实中却不是这样的,当我们点击购物车上的加减按钮时,数量会自动加1或减1 ...

  5. python学习 (三十) python的函数

     1: 函数参数默认值 def method1(p1 = , p2 = ): // 函数有两个参数,并且都有默认值 return p1 + p2 print(method1()) print(meth ...

  6. python学习三十五天函数递归的用法

    python函数递归就是自己调用自己,无限循环,但是python限制了调用的次数1000次,就会终止,递归用在栏目分类,采集程序比较多,下面简单说函数递归用法和实例 1,函数递归用法 def func ...

  7. python学习三十四天函数高阶函数定义及用法

    python函数高阶函数是把函数当成一个变量,传递给函数作为参数,或者函数的返回值里面有函数,都称为高阶函数, 1,把函数作为参数传递 def dac(x,y): return x+y def tes ...

  8. SQL学习(时间,存储过程,触发器)

    SQL学习 几个操作时间的函数 --datapart 获取时间中的年月日时分秒等部分 select DATEPART(year,current_timestamp); select DATEPART( ...

  9. Sql Server 三个很有用的函数

    好久没有写有关SqlServer 数据库方面技术的文章了,正好今天遇到了一个问题,我就把这个当做一个练习记录下来.今天遇到一个麻烦事,详情如下:公司买了一个系统,在这个系统里面有一个“充值卡”的功能, ...

  10. SQL夯实基础(三):聚合函数详解

    一.GROUP BY  Having 聊聚合函数,首先肯定要弄清楚group by 和having 的用法. SELECT id, COUNT(course) as numcourse, AVG(sc ...

随机推荐

  1. bilibili番剧评分爬虫

    python选修课学习中练手写的,主要就是查询bilibili提供得api # -*- coding:utf-8 -*- import requests import json import csv ...

  2. EBS GL 日记账行“账户说明”段说明显示不全

    问题描述: 路径:总帐管理超级用户/日记帐/输入 如下图所示,日记账行的“账户说明字段”段值说明显示不全 解决方法: 路径:总帐管理超级用户/设置/财务系统/弹性域/关键字/段 如下图所示,找到相应的 ...

  3. mongodb aggregate 聚合 操作(扁平化flatten)

    mongodb自带的函数非常多,最近用mongo做持久化数据库,遇到一个需求:子文档是个数组,把数组里的各个字段扁平化合到根文档中,查过资料后(主要是mongodb的文档和stackoverflow) ...

  4. java使用解压zip文件,文件名乱码解决方案

    File outFileDir = new File(outDir);if (!outFileDir.exists()) { boolean isMakDir = outFileDir.mkdirs( ...

  5. 调用远程linux服务器shell脚本

    package com.haiyisoft.hyoaPc.ui; import java.io.BufferedReader;import java.io.IOException;import jav ...

  6. ftp配置文件详解

    ### 主配置文件(/etc/vsftpd/vsftpd.conf) 严格来说,整个 vsftpd 的配置文件就只有这个档案!这个档案的设定是以 bash的变量设定相同的方式来处理的, 也就是`参数= ...

  7. 阶段3 3.SpringMVC·_07.SSM整合案例_06.ssm整合之编写MyBatis框架

    需要先搭建Mybits的环境. 用Mybits的注解的方式.把两个方法的sql语句写完 SqlMapConfig.xml resources下新建xml文档 把约束粘贴过来 两步操作 环境标签叫做en ...

  8. Redis ==> 集群的三种模式

    一.主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器 ...

  9. WebApiTestClient

    1.WebApiTestClient组件作用主要有以下几个: (1).将WebApi的接口放到了浏览器里面,以可视化的方式展现出来,比如我们通过http://localhost:8080/Help这个 ...

  10. Nmap扫描二级目录

    nmap --script http-enum -p80 192.168.2.100   //namp扫描2级目录