##单表操作

##创建表
CREATE TABLE t_employee(
empno INT(11),
ename VARCHAR(20),
job VARCHAR(40),
MGR INT(11),
Hiredate DATE DEFAULT '0000-00-00',
sal DOUBLE(10,2),
comm DOUBLE(10,2),
deptno INT(11),
UNIQUE INDEX uk_empno(empno) ##使用唯一索引
); ##增
INSERT INTO t_employee VALUE(7369,'SMITH','CLERK',7902,'1981-03-12',800.00,NULL,20),
(7499,'ALLEN','SALESMAN',7698,'1982-03-12',1600,300,30),
(7521,'WARD','SALESMAN',7698,'1982-03-12',1250,500,30),
(7566,'JONES','MANAGER',7839,'1981-03-12',2975,NULL,20),
(7654,'MARTIN','SALESMAN',7698,'1981-03-12',1250,1400,30),
(7698,'BLAKE','MANAGER',7839,'1981-03-12',3000,NULL,10),
(7902,'FORD','ANALYST',7566,NULL,3000,NULL,20),
(7934,'CLERK','SALESMAN',7782,'1989-03-12',1300,NULL,10);
(7938,'SMILL','ANALYST',7722,'1986-03-12',1300,100,40); ##删
DELETE FROM t_diary;
SELECT * FROM t_diary; ##改
UPDATE t_employee SET Hiredate='1985-3-12' WHERE empno=7902;
UPDATE t_employee SET comm=0.00 WHERE comm IS NULL; ##查
SELECT * FROM t_employee; ##查1:去除重复项
SELECT DISTINCT job FROM t_employee ; ##查2:统计
SELECT COUNT(*) AS COUNT FROM t_employee; ##查3:计算 (年薪)
SELECT empno,ename,(sal*12+comm) AS yearSal FROM t_employee; ##查4:设置格式显示,可拼接字符串,字段
SELECT ename AS '雇员', CONCAT('年薪为',sal*12+comm) AS '年薪' FROM t_employee; ##查5:运用关键字 Like 模糊查询,通配符,条件符
SELECT * FROM t_employee WHERE ename LIKE '_a%';
SELECT * FROM t_employee WHERE ename NOT LIKE '_A%';
SELECT * FROM t_employee WHERE Hiredate BETWEEN '1900-1-1' AND '1981-3-12'; ##查6:使用关键字 in 范围查询
SELECT * FROM t_employee WHERE empno IN (7499,7521,7902);
SELECT * FROM t_employee WHERE empno NOT IN (7499,7521,7902); ##查7:排序查询
SELECT * FROM t_employee ORDER BY empno ASC; ##正序
SELECT * FROM t_employee ORDER BY sal DESC; ##倒序
SELECT * FROM t_employee ORDER BY sal DESC,comm DESC; ##多字段排序 ##查8:限制查询结果的显示条数
/*可用于分页显示
*/
SELECT * FROM t_employee WHERE comm=0 LIMIT 2; ##显示 < 查询结果
SELECT * FROM t_employee WHERE comm=0 LIMIT 10; ##显示 > 查询结果 ##查9:指定查询结果显示的初始位置及结束位置
SELECT * FROM t_employee ORDER BY sal ASC,comm ASC;
SELECT * FROM t_employee ORDER BY sal ASC,comm ASC LIMIT 1,5; ##从第2条开始,显示5条 ##查10:统计函数查询
##如果 被操作的表是空,count返回0,其他函数返回 NULL SELECT COUNT(empno) FROM t_employee; ##COUNT():统计记录条数
SELECT SUM(sal) FROM t_employee; ##SUM():统计字段总和
SELECT AVG(sal) FROM t_employee; ##AVG():统计字段平均值
SELECT MAX(sal) FROM t_employee; ##MAX():统计字段最大值
SELECT MIN(sal) FROM t_employee; ##MIN():统计字段最小值 ##查11:(单列,多列)分组数据查询(与统计函数一起使用才有价值) SELECT * FROM t_employee GROUP BY deptno; ##单列分组 SELECT job FROM t_employee GROUP BY job; ##与去除重复项功能相似 SELECT deptno,GROUP_CONCAT(ename) AS enames,COUNT(ename) AS number
FROM t_employee GROUP BY deptno; ##单列分组与统计总和 SELECT deptno,AVG(sal) AS avgsal,GROUP_CONCAT(ename) AS enmaes,COUNT(ename) AS number
FROM t_employee GROUP BY deptno; ##单列分组、统计总和与平均数 SELECT deptno,Hiredate,COUNT(ename) AS enames,GROUP_CONCAT(ename) number
FROM t_employee GROUP BY deptno,Hiredate; ##多列分组查询与统计 ##查12:使用 HAVING 字句限定分组查询 SELECT deptno,AVG(sal) AS avgsal,GROUP_CONCAT(ename) AS enmaes,COUNT(ename) AS number
FROM t_employee GROUP BY deptno HAVING AVG(sal)>2000; ##单列分组、统计平均工资>2000的组

所有代码,均为自学时用到的测试与注释,知识细节或知识点不会面面俱到,亦不会有任何讲解,只做为自己学习复习用。

学习MySQL之单表操作(二)的更多相关文章

  1. day 46 Django 学习3 数据库单表操作以及反向解析

    前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变         2:反向解析之 ...

  2. 学习MySQL之多表操作(三)

    ##多表查询 ##使用数据库 mytest USE mytest; ##删除,并重新创建表 t_dept DROP TABLE t_dept; CREATE TABLE t_dept ( deptno ...

  3. Hibernate学习笔记--------1.单表操作

    一.hibernate基本开发步骤 1.引入包,官网下载的包,目录\lib\required下的jar都加进去,这里使用的是 hibernate-release-5.2.1.Final 2.编写配置文 ...

  4. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

  5. Django学习笔记(7)——单表操作和多表操作

    单表操作 1,创建模型 创建名为book的APP,在book下的models.py中创建模型: from django.db import models # Create your models he ...

  6. mysql单表操作与多表操作

    0. null和notnull: 使用null的时候: create table t8( id int auto_increment primary key, name varchar(32), em ...

  7. Django day07 (二)单表操作

    单表操作 -mysql数据库:settings里配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME ...

  8. 百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(二) -- 多表查询

    MySQL行(记录)的操作(二) -- 多表查询 数据的准备 #建表 create table department( id int, name varchar(20) ); create table ...

  9. hibernate学习笔记(6)组件属性以及单表操作

    组件属性:实体类中的某个属性属于用户自定义类的对象: 作用:将两个实体类合并在一起组建成一个表 在hbm.xml文件中配置: 格式: <component name="取的名字&quo ...

随机推荐

  1. jackson官方快速入门文档

    官方地址: http://jackson.codehaus.org/ http://wiki.fasterxml.com/JacksonInFiveMinutes http://wiki.faster ...

  2. 【转】天啦噜!原来Chrome自带的开发者工具还能这么用!(提升JS调试能力的10个技巧)

    天啦噜!原来Chrome自带的开发者工具还能这么用! (提升JS调试能力的10个技巧)   Chrome自带开发者工具.它的功能十分丰富,包括元素.网络.安全等等.今天我们主要介绍JavaScript ...

  3. 用修改hosts的方式来屏蔽某些网站

    首先呢,来自知乎的一些问答:修改 hosts 文件可以上一些墙内屏蔽的网站,其原理是什么? (然而通过增/改hosts的方法来FQ已经失效很久了) 然后呢,也可以通过修改hosts来达到屏蔽某些网站的 ...

  4. FineReport实现根据点击次数奇偶性排序的方法

    使用FineReport报表软在进行排序的时,很多时候您可能想实现根据点击的次数进行升降序排序,也就是说点击第一次点击标题升序排序,再次点击就降序,以此类推,而不是通过选择升序进行升序排列,选择降序进 ...

  5. JSP转译成Servlet详细过程

    很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行.因为JSP在执行第一次后,会被编译成 Servlet的类文件,即.class,当再重复调用执行时,就直接 ...

  6. NOIP2004火星人

    法1:裸的全排列 加点优化也可以很快---洛谷6ms #include<cstdio> #include<cstring> #include<algorithm> ...

  7. [No000075]有没有安全的工作?

    如果你经常使用互联网,可能知道有一种东西叫做Flash. 它是一种软件,用来制作网页游戏.动画,以及视频播放器.只要观看网络视频,基本都会用到它. 七八年前,它是最热门的互联网技术之一.如果不安装Fl ...

  8. iOS 2D绘图 (Quartz2D)之阴影和渐变(shadow,Gradient)

    原博地址:http://blog.csdn.net/hello_hwc/article/details/49507881 Shadow Shadow(阴影) 的目的是为了使UI更有立体感,如图 sha ...

  9. three.js添加文字

    添加文字需要用到fontLoader,测试貌似只能异步.在success中回调. 对于中文字体,需要将ttf格式转换为json格式或者是js格式之后才能使用,不过一般转换之后的文件比较大.建议使用Fo ...

  10. JS组件系列——封装自己的JS组件,你也可以

    前言:之前分享了那么多bootstrap组件的使用经验,这篇博主打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一 ...