身为一php开发攻城狮,常常涉及在应用中写update/delete语句,忘记加where,后果不堪设想. 还会出现在cml下直接操作mysql的情况,如果mysql 权限够大,一个update/delete不加where,后果也还是不堪设想. 解决方案如下: 1.登录时制定-U选项: mysql  -uusername -ppassword  -S(指定与否socket依据自己当初安装mysql的方式)  -U 2.在linux环境下,指定别名: alias  mysql='mysql -U'…
这个SQL写了很久的时间,感觉pgSQL的很是麻烦. with as 先命名一个表出来,就可以当成临时表用. WITH tmp AS ( SELECT MAX(mgi.inner_cd) AS innerCd, mgi.ginner_code AS ginner_code, mgi.subsidiary_code AS subsidiary_code FROM prod.m_ginner_inner11 mgi, TEMP .hscode_renkei_manage aa WHERE mgi.s…
如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE:如果不会导致唯一值列重复的问题,则插入新行.例如,如果列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果: INSERT INTO test(a,c) VALUES (1,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE TABLE SE…
update或delete语句里含有子查询时,子查询里的表不能在update或是delete语句中,如含有运行时会报错:但select语句里含有子查询时,子查询里的表可以在select语句中. 如:把总成绩小于100的学生名称修改为天才 select stu_id from score group by stu_id having sum(grade)<100; #查询总成绩小于100的学生IDupdate students set name='天才' where id in (select s…
这几天一直在学习C++下使用Mysql的方法及其中各种的问题,也看了很多Mysql的API函数,当然自己看的还是很基础的.其实对于每种数据库的操作,基本的方法都是非常类似的,大多都是connect,select,update,delete以及insert这几个操作.接下来我就将这几个步骤以代码的方式展现给大家,相信应该能对大家对mysql的编程起到一个基础模板的作用,方便大家以后对mysql数据库的了解和学习. 1.mysql的初始化initConnection: 1)mysql_init():…
sql中同一个Trigger里同时包含Insert,Update,Delete SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 create trigger 触发名 on 表名 instead of insert,update,delete as --insert插入 from deleted) begin 打印插入 end --update更新 from deleted) begin 打印修改 end --delete删除 f…
1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Consistency(稳定性).Isolation(隔离性).Durability(可靠性)…
在工作中遇到这样一个问题,就是mysql在insert into时能不能使用别名,大家会很奇怪为什么insert into使用别名呢?原因在于原来的项目中使用了user表,新项目要将user表拆分为user和userinfo表,在不修改原代码的前提下,将user extends userinfo,而持久层用的是mybatis,所以写sql段的时候,get时要获取user和userinfo,这样就使用到了left join,又因为user和userinfo中有些同样的字段如uid,updateti…
一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该工具已经在美团点评内部使用代码地址:https://github.com/Meituan-Dianping/MyFlash二.详细说明安装使用测试用例三.限制binlog格式必须为row,且binlog_row_image=full仅支持5.6与5.7只能回滚DML(增.删.改)四.FAQ实现的原理…
注意:其中的JdbcUtil是我自定义的连接工具类:代码例子链接: package day02_statement; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; import util.JdbcUtil; /** * 使用Statement对象执行DML语句(insert/update/delete) * @author mzy * */ public class Dem…