001、批量删除
public void deleteAll(List<Integer> list);//删除
<delete id="deleteAll" > DELETE from qy_exchangepl WHERE exchangeplid in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </delete>
002 、MySql日期函数
003、MySql 禁用和启用外键约束检查
-- SQL data bulk transfer script generated by the MySQL Migration Toolkit -- ---------------------------------------------------------------------- -- Disable foreign key checks 禁用 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; -- Re-enable foreign key checks 启用 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; -- End of script
005、
查询重复记录
/*查找重复记录 指定重复字段 按重复字段分组 count重复字段值>1则重复*/ SELECT * FROM allintersection b WHERE b.`Name` IN( SELECT a.`Name` FROM allintersection a GROUP BY a.`Name` HAVING COUNT(a.`Name`)>1 )
006、
删除重复记录
按规则删除重复记录 DELETE FROM allintersection WHERE allintersection.ID IN( SELECT b.maxid FROM (SELECT MAX(a.ID) as maxid FROM allintersection a GROUP BY a.`Name` HAVING COUNT(a.`Name`)>1 ) b )
007、
关于having的几点说明
1、SQL标准要求HAVING必须引用GROUP BY子句中的列或用于总计函数中的列。
不过,MySQL支持对此工作性质的扩展,并允许HAVING涉及SELECT清单中
的列和外部子查询中的列。
2、HAVING子句必须位于GROUP BY之后ORDER BY之前。
3、如果HAVING子句引用了一个意义不明确的列,则会出现警告。在下面的语
句中,col2意义不明确,因为它既作为别名使用,又作为列名使用:
mysql> SELECT COUNT(col1) AS col2 FROM t GROUP BY col2 HAVING col2 = 2;
标准SQL工作性质具有优先权,因此如果一个HAVING列名既被用于GROUP BY,又被
用作输出列清单中的起了别名的列,则优先权被给予GROUP BY列中的列。
4、HAVING子句可以引用总计函数,而WHERE子句不能引用。【这应该是开发者在特
定的情况下采用HAVING子句的最大原因】
5、不要将HAVING用于应被用于WHERE子句的条目,从我们开头的2条语句来看,这样用
并没有出错,但是mysql不推荐。而且也没有明确说明原因,但是既然它要求,我
们遵循就可以了。
008、按某一字段分组统计
例:qy_rb表--rblx日报类型字段(可能值0、1、2、3、4),现依据rblx统计一段时间内所有人员发表不同类型日报的数量
效果图:
局部sql:
SELECT SUM(case when rb.rblx='0' then 1 else 0 end) AS rbcount, SUM(IF (rb.rblx=1,1,0) )AS zbcount, SUM(IF (rb.rblx=2,1,0)) AS ybcount, SUM(IF (rb.rblx=3,1,0)) AS jxthcount, SUM(IF (rb.rblx=4,1,0)) AS jxfscount, rb.userid FROM qy_rb rb WHERE DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')>=DATE_FORMAT('2012-08-01','%Y-%m-%-d') and DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')<=DATE_FORMAT('2012-12-31','%Y-%m-%-d') GROUP BY rb.userid
完整sql:
SELECT qyuser.xm, IF(ISNULL(t_a.rbcount),0,t_a.rbcount) as rbcount, IF(ISNULL(t_a.zbcount),0,t_a.zbcount) as zbcount, IF(ISNULL(t_a.ybcount),0,t_a.ybcount) as ybcount, IF(ISNULL(t_a.jxthcount),0,t_a.jxthcount) as jxthcount, IF(ISNULL(t_a.jxfscount),0,t_a.jxfscount) as jxfscount, IF(ISNULL(t_b.excount),0,t_b.excount) as excount, bm.bmmc FROM qy_user qyuser LEFT JOIN (SELECT SUM(case when rb.rblx='0' then 1 else 0 end) AS rbcount, SUM(IF (rb.rblx=1,1,0) )AS zbcount, SUM(IF (rb.rblx=2,1,0)) AS ybcount, SUM(IF (rb.rblx=3,1,0)) AS jxthcount, SUM(IF (rb.rblx=4,1,0)) AS jxfscount, rb.userid FROM qy_rb rb WHERE DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')>=DATE_FORMAT('2012-08-01','%Y-%m-%-d') and DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')<=DATE_FORMAT('2012-12-31','%Y-%m-%-d') GROUP BY rb.userid) t_a on qyuser.userid=t_a.userid LEFT JOIN (SELECT count(*) as excount, qyex.userid FROM qy_exchange qyex WHERE DATE_FORMAT(qyex.tjsj,'%Y-%m-%-d')>=DATE_FORMAT('2012-08-01','%Y-%m-%-d') and DATE_FORMAT(qyex.tjsj,'%Y-%m-%-d')<=DATE_FORMAT('2012-12-31','%Y-%m-%-d') GROUP BY qyex.userid )t_b ON qyuser.userid=t_b.userid LEFT JOIN qy_bm bm on qyuser.bmid=bm.bmid WHERE qyuser.dwid='001' ORDER BY rbcount AND zbcount and ybcount AND excount DESC
00、case语句
##方式一: SELECT case sal.sfaz when 1 then '是' when 2 then '否' end sfaz FROM saleorder sal ## 方式二: SELECT case when sal.sfaz=1 then '是' when sal.sfaz=2 then '否' end sfaz FROM saleorder sal ## SELECT CASE WHEN a.user_name=null then 'no' WHEN a.user_name='' THEN 'no' ELSE a.user_name END as user_name FROM game_user a
00、if语句
SELECT IF(sal.sfaz=1,'是','否') as sfaz FROM saleorder sal
00、mysql: 将记录值转换为字段统计(成绩表)
/* select coalesce(a,b,c); 如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a; 如果a b c 都为null ,则返回为null(没意义)。 */ SELECT a.username, (SELECT COALESCE(t.fenshu,0) from cores t WHERE t.cursorse='数学' and t.username=a.username) as 数学, (SELECT IFNULL(t.fenshu,0) from cores t WHERE t.cursorse='语文' and t.username=a.username) as 语文, (SELECT IF(ISNULL(t.fenshu),0,t.fenshu) from cores t WHERE t.cursorse='英语' and t.username=a.username) as 英语 FROM cores a group by a.username
相关推荐
mysql学习笔记,是高性能mysql的学习摘要。对于理解mysql架构体系,更熟练的使用mysql有很大的助益
收支记账:日常收支活动进行记录。对每天的消费及时入账。便于以后对家庭收支或个人收支的查询和统计。它记录了收支活动的日期,收支类型,活动说明,收入金额,支出金额,余额,及消费者。
摘要:这是关于5.1版至5.1.2-alpha版MySQL数据库系统的参考手册。该手册不适用于旧版本MySQL软件,这是因为在MySQL 5.1和以前的版本存在很多功能性差异和其他差异。如果正在使用MySQL软件的较旧版本,请参阅MySQL ...
提问 编辑摘要 如何启动/停止/重启MySQL 一、启动方式 1、使用 service 启动:service mysqld start 2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3、使用 safe_mysqld 启动:safe_mysqld& 二、停止 ...
不过客户端登录需要使用支持HTML5的Chrome浏览器浏览,其它非IE内核的浏运行环境:PHP+MySQL 摘要:PHP源码,其它类别,BugTrace BugTrace PHP缺陷跟踪系统,无需初始化,开包即用。 不过客户端登录需要使用支持...
MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文...摘要 这是MySQL参考手册 它涉及MySQL 5.1至5.1.2-alpha版本。 文档生成于: 2005-11-15
资源介绍:。返回一段字节集数据的数据摘要文本,如果获取失败将返回空文本,本命令为初级命令。这部分是hacker0058的源码。资源作者:。@易语言自学网。资源界面:。资源下载:。
MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文...摘要 这是MySQL参考手册 它涉及MySQL 5.1至5.1.2-alpha版本。 文档生成于: 2005-11-15
MySQL数据库考试试题及答案,详情摘要请参见博客内容,谢谢
基于Java Swing和MySQL的超市管理系统是一种用于超市或商场管理商品和订单信息的计算机软件系统。该系统使用Java Swing作为GUI编程工具,MySQL作为数据库,可以方便地进行商品管理、订单管理、库存管理和查询等操作...
1_MYsql学习(摘要笔记).zip
摘要: 利用binlog闪回误操作数据。 基本上每个跟数据库打交道的程序员(当然也可能是你同事)都会碰一个问题,MySQL误操作后如何快速回滚?比如,delete一张表,忘加限制条件,整张表没了。假如这还是线上环境核心...
基于SpringBoot+MySQL+Vue的在线考试系统(源码+论文).zip 基于SpringBoot+MySQL+Vue的在线考试系统(源码+论文).zip 基于SpringBoot+MySQL+Vue的在线考试系统(源码+论文).zip 基于SpringBoot+MySQL+Vue的在线...
易语言MYSQL密码加密源码,MYSQL密码加密,password,模块_取数据摘要
摘要:本文主要说明了如何下Windows环境下安装MySQL。 查看电脑上是否安装了MySQL 打开cmd窗口,输入services.msc命令,等待服务界面打开: 如果能在服务中找到MySQL服务,则说明系统已经安装了MySQL: 下载并安装...
李玉婷老师的mysql课程sql摘要
摘要:rpm 安装mysql 5.7版本,含(mysql-connector-java-5.1.48.jar) 用途:数据库,jdbc 系统:Linux系统 ,解压密码:mysql
资源包含文件:论文文档+项目源码及数据库文件+演示视频 php+mysql做一个简单的学生成绩管理系统 ...mysql5.7.26 详细介绍参考:https://biyezuopin.blog.csdn.net/article/details/123370476?spm=1001.2014.3001.5502
这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与 英文版参考手册相比,本...摘要 这是MySQL参考手册 它涉及MySQL 5.5至5.5.2-alpha版本。 文档生成于: 2010-11-1
简单介绍下可以从哪些方面优化