当前位置: 首页 > news >正文

菏泽网站设计培训太原小店区最新消息今天

菏泽网站设计培训,太原小店区最新消息今天,知道一个网站怎么知道是谁做的百度优化,wordpress资源分享网1,update 对查询到的结果进行列值更新,可以和older by,where,limit合并使用,为了方便讲解,将会以题目练习的方式进行说明: 1,将孙悟空同学的数学成绩变更为 80 分 本道题和where联…

1,update

对查询到的结果进行列值更新,可以和older by,where,limit合并使用,为了方便讲解,将会以题目练习的方式进行说明:

1,将孙悟空同学的数学成绩变更为 80 分

本道题和where联用:

2,将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分

一次更新多列

3,将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

这道题将联用order by和limit:

在图中可以看到,updete不支持math += 30这种写法。

4,将所有同学的语文成绩提升为原来的两倍

不用where语句就可以,但是强烈不建议这么做,改全表数据代价太大了。

2,delete

语法:

delete from + 表名,+(order by ,limit,where)语句联用

案例:

1,删除孙悟空同学的考试成绩

 2,删除整张表数据

删除表的方法一定要慎重使用,表删了就没了,删之前最好做好备份:

可以看到表中的数据被删了,但是表还在。

3,截断表

语法:

truncate + 表名;

注意:这个操作慎用 1. 只能对整表操作,不能像 DELETE 一样针对部分数据操作;

2. 实际上 MySQL 不对数据操作,所以比 DELETE 更快,但是TRUNCATE在删除数据的时候,并不经过真正的事 物,所以无法回滚

3. 会重置 AUTO_INCREMENT 项

3,插入查询结果

语法:

INSERT INTO table_name [(column [, column ...])] SELECT 。。。;

4,聚合函数

 MySQL中可以有函数,可以一组一组的来对结果做聚合统计

具体函数如下:

案例:

1,统计班级共有多少同学

也可以使用列名做统计

2,统计本次考试的数学成绩分数个数

该方法中可以引入去重:

3,统计数学成绩总分

这里使用sum函数:

可以用sum/count的方式来获取平均分:

4,统计平均总分

除了上面提供的统计平均分的方法,mysql也提供了函数avg来完成平均分的计算:

5,返回英语最高分

这里可以用到max函数来辅助完成:

6,返回 > 70 分以上的数学最低分

这可以min和where联用:

5,group by子句的使用/分组聚合统计

实际上,用到该列的不同行的数据来分组,分组的条件由用户定,组内数据一定是相同的,可被聚合压缩。

分组不就是按照条件,拆成了多个组进行各自组内的统计

换句话说就是,分组就是分表,不就是把一张表按条件在逻辑上拆成了多个子表,然后分别对各自子表进行聚合统计

在select中使用group by 子句可以对指定列进行分组查询

语法:

select column1, column2, .. from table group by column;

直接用案例来看更好看:

1,首先我们先用一个表来练习,具体代码如下:

-------------------------------------------------------------------------------------------------------------------------------

DROP database IF EXISTS `scott`;

CREATE database IF NOT EXISTS `scott` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_c    i;

USE `scott`;

 DROP TABLE IF EXISTS `dept`;

 CREATE TABLE `dept` (

   `deptno` int(2) unsigned zerofill NOT NULL COMMENT '部门编号',

   `dname` varchar(14) DEFAULT NULL COMMENT '部门名称',

   `loc` varchar(13) DEFAULT NULL COMMENT '部门所在地点'

 );

 DROP TABLE IF EXISTS `emp`;

 CREATE TABLE `emp` (

   `empno` int(6) unsigned zerofill NOT NULL COMMENT '雇员编号',

   `ename` varchar(10) DEFAULT NULL COMMENT '雇员姓名',

   `job` varchar(9) DEFAULT NULL COMMENT '雇员职位',

   `mgr` int(4) unsigned zerofill DEFAULT NULL COMMENT '雇员领导编号',

   `hiredate` datetime DEFAULT NULL COMMENT '雇佣时间',

   `sal` decimal(7,2) DEFAULT NULL COMMENT '工资月薪',

   `comm` decimal(7,2) DEFAULT NULL COMMENT '奖金',

   `deptno` int(2) unsigned zerofill DEFAULT NULL COMMENT '部门编号'

 );

 DROP TABLE IF EXISTS `salgrade`;

 CREATE TABLE `salgrade` (

   `grade` int(11) DEFAULT NULL COMMENT '等级',

   `losal` int(11) DEFAULT NULL COMMENT '此等级最低工资',

   `hisal` int(11) DEFAULT NULL COMMENT '此等级最高工资'

 );

 insert into dept (deptno, dname, loc)

 values (10, 'ACCOUNTING', 'NEW YORK');

 insert into dept (deptno, dname, loc)

 values (20, 'RESEARCH', 'DALLAS');

 insert into dept (deptno, dname, loc)                                                  

 values (30, 'SALES', 'CHICAGO');

 insert into dept (deptno, dname, loc)

 values (40, 'OPERATIONS', 'BOSTON');

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7499, 'ALLEN', 'SALESMAN', 7698, '1981-02-20', 1600, 300, 30);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7521, 'WARD', 'SALESMAN', 7698, '1981-02-22', 1250, 500, 30);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02', 2975, null, 20);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7654, 'MARTIN', 'SALESMAN', 7698, '1981-09-28', 1250, 1400, 30);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01', 2850, null, 30);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09', 2450, null, 10);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19', 3000, null, 20);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7839, 'KING', 'PRESIDENT', null, '1981-11-17', 5000, null, 10);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7844, 'TURNER', 'SALESMAN', 7698,'1981-09-08', 1500, 0, 30);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23', 1100, null, 20);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7900, 'JAMES', 'CLERK', 7698, '1981-12-03', 950, null, 30);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7902, 'FORD', 'ANALYST', 7566, '1981-12-03', 3000, null, 20);

 insert into emp (empno, ename, job, mgr, hiredate, sal, comm, deptno)

 values (7934, 'MILLER', 'CLERK', 7782, '1982-01-23', 1300, null, 10);

 insert into salgrade (grade, losal, hisal) values (1, 700, 1200);

 insert into salgrade (grade, losal, hisal) values (2, 1201, 1400);

 insert into salgrade (grade, losal, hisal) values (3, 1401, 2000);

 insert into salgrade (grade, losal, hisal) values (4, 2001, 3000);

 insert into salgrade (grade, losal, hisal) values (5, 3001, 9999);

---------------------------------------------------------------------------------------------------------------------------------

2,创建好表我们可以开始练习:如何显示每个部门的平均工资和最高工资

可以看到,group by对表进行了聚合并算出来个平均和最小工资,在使用group by后指定列名的,

可以在select前直接出现,聚合函数也可在此直接出现,如果不是分组条件等等列就不能出现

group by主要用于统计,查个人最高应该用where limit,order by来查。

3,having

having关键字可以对聚合后的数据进行判断,直接看例子:

显示平均工资低于2000的部门和它的平均工资

统计各个部门的平均工资

select avg(sal) from emp group by deptno:

having和group by配合使用,对group by结果进行过滤

--having经常和group by搭配使用,作用是对分组进行筛选,作用有些像where

4,having和where的区别:

两个函数的功能基本都是一样的,那么他们的区别主要是体现在语句的执行顺序,在select中也可以用having,但是不推荐

where语句是在from执行之后就执行,而having是在所有操作结束之后再执行:

可以根据数字来看到having执行顺序:

不要单纯认为只有磁盘上的表结构导入到MySQL,真是存在表才是表,我们要人知道通过各自中间筛选,它最终结果都是逻辑上的表,无论怎么赛选,所以

MySQL一切皆表!

http://www.yayakq.cn/news/368888/

相关文章:

  • 泉州响应式网站建设鄱阳县精准扶贫旅游网站建设目的
  • 做平面设计兼职的网站网页生成
  • 绿色网站风格在线做动图的网站
  • 手机销售培训网站做网站的费用如何入账
  • 男女做暖暖暖网站小程序开发制作官网
  • 兴宁电子商务网站建设做企业平台的网站
  • 摄影作品网站源码做关键词优化需要修改网站标题
  • 站长工具端口查询网站移动端开发公司
  • 高度重视机关门户网站建设网站虚拟主机查询
  • 网站免费源码不用下载网站功能设计方案
  • 珠海网站开发哪家好上海网站排名优化价格
  • 手机网站 微信分享江苏建设人才网电子证书查询
  • 南京整站优化wordpress两边有空白
  • 长春网站只长春网站制作做吉林公司做网站
  • 页面具有动态效果网站建设微信运营简历
  • 湘潭网站建设优化建站金山区做网站公司
  • 大连制作网站织梦cms怎么打不开网站
  • 个人网站备案icp杭州做网站软件
  • 做壁纸网站平面设计有前景吗
  • 怎么创建网站自己创建wordpress oss 插件
  • 福州网站建设熊掌号房地产营销案例100例
  • 上海网站建设公司价格wordpress替换公共js
  • 网站开发课程安排长沙建筑模板厂家
  • 展览会建设网站平台的作用桂林市建设工程交易中心
  • 内容管理系统做网站网络营销成功案例分析
  • 如何做下载网站赚钱网站可信认证多少钱
  • 网站建设价格请咨询兴田德润漳州网站建设网站制作
  • 石河子市建设局网站软件项目管理案例分析
  • 网站首页倒计时功能怎么做企业名
  • 宁波营销型网站建设优化建站网站域名续费