正常查询语句中TOP的运用: SELECT TOP 1000 * FROM MP_MemberGrade 随意更新一张表中满足条件的前N条数据: UPDATE TOP (1) MP_Member SET FKGradeID=2 WHERE IsDeleted=2 更新A表中满足B表前N条记录的数据 UPDATE MP_Member SET FKGradeID=2 FROM MP_Member A LEFT JOIN (SELECT TOP 10 * FROM MP_MemberGrade…
MySQL 误操作后数据恢复(update,delete忘加where条件) 关键词:mysql误删数据,mysql误更新数据 转自:https://www.cnblogs.com/gomysql/p/3582058.html 在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者DBA的我们改如何处理呢?下面我分别针对update和delete操作忘加…
本次测试用Myflash闪回dml操作,有个前提条件是log_bin开启并且log模式是row: mysql> show global variables like "binlog%"; +--------------------------------------------+--------------+ | Variable_name | Value | +--------------------------------------------+--------------…
1.单表的:update user set name = (select name from user where id in (select id from user where name='小苏')): update goods set name = REPLACE(name ,' ','') ; //去空格 update goods set name = replace(name,'香蕉','苹果') ; //香蕉换苹果 u…
Select…For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句. 该语句用来锁定特定的行(如果有where子句,就是满足where条件的那些行).当这些行被锁定后,其他会话可以选择这些行,但不能更改或删除这些行,直到该语句的事务被commit语句或rollback语句结束为止. 加锁程式在准備修改某些資料時需先用SELECT * FROM tablename WHERE condition FOR UPDATE 來锁住…
UPDATE `WarningSendMail` AS alias_1 INNER JOIN (SELECT * FROM `WarningSendMail` WHERE flag=1 AND topic_id LIKE "%2267%") AS alias_2 SET alias_1.topic_id = REPLACE(alias_1.topic_id,'|2267','') WHERE alias_1.id = alias_2.id update WarningSendMail…
如何用一条sql语句实现批量更新?mysql并没有提供直接的方法来实现批量更新,但是可以用点小技巧来实现. 复制代码 代码如下: UPDATE mytable SET myfield = CASE id WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' END WHERE id IN (1,2,3); 这里使用了case when 这个小技巧来实现批量更新. 举个例子: 复制代码 代码如下: UPDATE categories…
还是广告位 我们的使用mysql的时候总是想当然的使用 select × from tables where a>0 order by id desc limit 500000,200 当我们真正使用它查询时发现这个很慢很慢 我个人认为这是因为mysql并没有对该语句进行索引,即便时索引的数据,当读取前1000条时和最后一页时的速度差距时很大的原因在与这个limit limit是一个很好的东西,但是由于他在查询的过程中io操作较大尤其是limit后面的第一个值比较大的时候 我们应该怎么做呢 我在…
INSERT INTO `b_common_member_count` (uid) SELECT uid FROM `b_common_member` WHERE uid NOT IN (SELECT uid FROM `b_common_member_count`) 把b_common_member里的uid,不重复的全部插入到b_common_member_count的uid里.…
第一节课: 启动数据库并且使用特定用户连接:su - oracle; 启动sqlplus并且使用sys连接:conn / as sysdba; 启动数据库:startup; 解锁用户:alter user hr identified by hr;alter user hr account unlock; 使用hr连接:conn hr/hr;select * from tab;desc employees;select * from departments; 开发工具:plsql develope…