MYSQL UPDATE 更新 技术教程文章

MySQL常用SQL汇总(持续更新)

自动生成ROWNUN SELECT (@rowNO := @rowNo+1) AS rowno,a.uuid FROM (SELECT * FROM h_log_proc) a,(SELECT @rowNO :=0) b 随机取记录 SELECT * FROM (SELECT (@rowNo :=@rowNo+1) AS rowno, pwd FROM pur_admininfo, (SELECT @rowNo := 0) b) tmp WHERE rowno=(SELECT ROUND(RAND() * 10000000 % (SELECT COUNT(*) FROM pur_admininfo))) LIMIT 1 去除水平制表符 #查询 #SELECT * FROM web_h_cus_info WHERE LOCATE(CHAR(10...

5 详解MySQL数据库之更新语句

用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的 SELECT语句,另外一种就是更新语句,也叫做数据操作语句。言外之 意,就是对数据进行修改。在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句。一、INSERT和REPLACEINSERT和REPLACE语句的功能都是向表中插入新的数据。这两条语句的语法类似。它们的主要区别是如...

mysql之select,insert,delete,update【代码】

school; -- 添加班级信息 insert into tb_class(`name`) values(‘信管01‘); insert into tb_class(`name`) values(‘信管02‘); insert into tb_class(`name`) values(‘信管03‘); insert into tb_class(`name`) values(‘信管04‘);2、添加学生信息use school; -- 添加学生信息 insert into tb_student(`Name`,`phone`,`age`,`gender`,`classid`) values(‘张三‘,‘13810707322‘,20,1,1); insert into tb_student(`Name`,`ph...

mysql的replace into和on duplicate key update测试笔记

mysql的replace into和on duplicate key update测试笔记mysql> create table tbl_insert_tmp(id int(5),addr_number int(10), name varchar(20),primary key (id),unique key udx_addr_number (addr_number)); Query OK, 0 rows affected (0.05 sec)mysql> show create table tbl_insert_tmp\G*************************** 1. row *************************** Table: tbl_insert_tmpCreate Table: CREATE TABLE `tbl_...

转: MYSQL获取更新行的主键ID【代码】

大致思路就是首先声明一个用户变量 @update_id ,之后在update数据时要多更新一个字段,就是将当前主键值更新为当前主键值(其实就是没更新),更新主键字段并不是目的,只是为了将当前主键值赋值给@update_id,就是这句: ( SELECT @update_id := id )。 (个人理解,水平有限可能会有出入) 另外如果更新了多条记录也可以用下面的方式 SET @uids := null; UPDATE footableSET foo = ‘bar‘WHERE fooid > 5AND ( SELECT @uids ...

MySQL延迟更新索引(delay_key_write)

使用表创建选项DELAY_KEY_WRITE创建的myisam表,在查询结束后,不会将索引的改变数据写入磁盘,而是在内存的健缓冲区(In-memory key buffer)中缓存索引改变数据。它只会在清理缓存区,或关闭表时,才将索引块转储到磁盘。对于数据经常改变,并且使用频繁的表,这种模式大大提高了表的处理性能。 不过,如果在服务器或系统奔溃,索引将肯定损坏,并需要修复。用户可以使用脚本,如运行myisamchk工具,在重启服务器前进行...

MySQL UPDATE【代码】

你可以同时更新一个或多个字段。 你可以在 WHERE 子句中指定任何条件。 你可以在一个单独表中同时更新数据。当你需要更新数据表中指定行的数据时 WHERE 子句是非常有用的。通过命令提示符更新数据 以下我们将在 SQL UPDATE 命令使用 WHERE子句来更新tutorials_tbl表中指定的数据: 实例 以下实例将更新数据表中 tutorial_id 为 3 的 tutorial_title 字段值: root@host# mysql -u root -p password; Enter password:******* mysql>...

mysql 存在该记录则更新,不存在则插入记录的sql【图】

原始数据:运行后数据:如果您指定了ONDUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE。如果行作为新记录被插入,则受影响行的值为1;如果原有的记录被更新,则受影响行的值为2。 mysql 存在该记录则更新,不存在则插入记录的sql标签:mysql本文系统来源:http://blog.csdn.net/some_times/article/details/46316141

MySQL 更新中文列:1366 Incorrect string value 问题解决

环境:mysql-5.6.25-winx64,MySQL workbench问题:MySQL更新时出现异常: warning(s): 1366 Incorrect string value: ‘\xE8\x82\x96\xE5\xB1\xB1...‘ for column ‘sub_station_name‘解决: 1、数据库schema字符集设置为utf-8 2、表字符集设置为utf-8 3、中文列字符集设置为utf-8 4、连接url里面已经指定了CharsetEncode=utf8 第4步非常关键。备注: 1、看数据库字符集 show create database test; 2、看数据表字符集 show cre...

mysql 批量更新多条记录(且不同值)的实现方法【代码】

UPDATE table_name SET field = ‘value‘ WHERE condition; 更新多条数据为不同值,你可以: foreach ($display_order as $id => $ordinal) { $sql = "UPDATE categories SET display_order = $ordinal WHERE id = $id"; mysql_query($sql); } 这样一条条进行,虽然性能差,还容易阻塞。 你也可以用一些SQL的小技巧: UPDATE table_name SET field = CASE id WHEN 1 THEN ‘value‘WHEN 2 THEN ‘value‘WHEN 3 THEN ‘val...

mysql 更新或插入

INSERT … ON DUPLICATE KEY UPDATE  语句 MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SELECT,INSERT,UPDATE),缩减为1条语句即可完成。 INSERT ... ON DUPLICATE KEY UPDATE,当插入的记录会引发主键冲突或者违反唯一约束时,则使用UPDATE更新旧的记录,否则插入新记录。 注意,要使用这条语句,前提条件是这个表必须有一个唯一索引或主键。 有多个唯一索引(或者有键...

在 mysql 中利用 Duplicate key, 一句话实现存在的更新不存在插入功能【代码】

INTO radcheck (username,attribute,op,VALUE) VALUES (‘tyson‘,‘Cleartext-Password‘,‘:=‘,‘123‘) on duplicate key update value=‘123‘;注意,radcheck 表中 username 和 attribute 列是个组合的唯一索引。 alter table radcheck add unique key(username,attribute); 在 mysql 中利用 Duplicate key, 一句话实现存在的更新不存在插入功能标签:本文系统来源:http://www.cnblogs.com/zhenfei/p/4573066.html

mysql更新表中日期字段时间【代码】

DATE_ADD和DATE_SUB函数可以用INTERVAL关键字标识的时间间隔进行加减操作,类似于PHP中的strtotime函数. 1.更新表中有效期valid_time字段值都增加一天UPDATE cqh_activity SET valid_time=DATE_ADD(valid_time,INTERVAL 1 DAY);2.更新表中有效期valid_time字段值都减少一天UPDATE cqh_activity SET valid_time=DATE_SUB(valid_time,INTERVAL 1 DAY);mysql更新表中日期字段时间标签:本文系统来源:http://www.cnblogs.com/chenqion...

MySQL 大致测试更新时间【代码】

DROP TABLE IF EXISTS test20;CREATE TABLE test20( id INT AUTO_INCREMENT PRIMARY KEY, money DOUBLE, createdtime DATETIME)ENGINE=INNODB DEFAULT CHARSET=UTF8;DROP PROCEDURE IF EXISTS pro_test20;DELIMITER && CREATE PROCEDURE pro_test20(IN inr int)BEGINDECLARE i INT DEFAULT 0;START TRANSACTION;WHILE i<inr DOINSERT INTO test20(money,createdtime) values(234567891023,‘2014-06-22 20:18:38‘);SET i=i+1;END ...

mySQL 教程 第5章 插入 更新与删除数据【图】

使用SQL Manager管理工具连接到schoolDB。由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重。 插入数据 1. 练习:为表的所有字段插入数据 为表中所有字段插入数据,可以不用指定列 其中的into可以省去 insert into TStudent values (‘00008‘,‘白安‘,‘男‘,‘132302197604044565‘,‘19760404‘, ‘baian@onest.net‘,‘JAVA‘,‘20120803‘) insert TStudent values (‘00009‘,‘白安明‘,‘男‘,‘13230219...

MySQL模拟:线上误update的恢复【代码】

作为DBA,细心、沉稳是首要的基本素质。不过总有那么一会心烦意乱或者开发同学出现误操作之类的。。。这里模拟一个误update操作,然后恢复。 如果开发同学有误操作之后最好先别乱动生产环境,需要记录几个信息给DBA同学来恢复数据。 1:binlog_format、autocommit、binlog位置、误操作的时间点mysql> SHOW VARIABLES LIKE ‘%binlog_format%‘; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | ...

黑马day10 增加&amp;删除&amp;更新到数据库mysql【代码】

如果是更改了数据那么就使用Statement 中的executeUpdate()方法。如果是查询就使用executeQuery()方法. 案例: package cn.itheima.jdbc;import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;import org.junit.Test;import cn.itheima.utils.JDBCUtils;public class JDBCDemo4 {private static Connection con=null;private static Statement sta=null;private stat...

MySQL中SELECT+UPDATE处理并发更新问题解决方案【代码】【图】

这篇文章主要介绍了MySQL中SELECT+UPDATE处理并发更新问题解决方案分享,需要的朋友可以参考下。 问题背景 假设MySQL数据库有一张会员表vip_member(InnoDB表),结构如下:当一个会员想续买会员(只能续买1个月、3个月或6个月)时,必须满足以下业务要求:如果end_at早于当前时间,则设置start_at为当前时间,end_at为当前时间加上续买的月数 如果end_at等于或晚于当前时间,则设置end_at=end_at+续买的月数 续买后active_status必...

Mysql子查询,连接,多表更新

1.子查询是指在另一个查询语句中的SELECT子句。 例句: SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 其中,SELECT * FROM t1 ...称为Outer Query[外查询](或者Outer Statement), SELECT column1 FROM t2 称为Sub Query[子查询]。 所以,我们说子查询是嵌套在外查询内部。而事实上它有可能在子查询内部再嵌套子查询。子查询必须出现在圆括号之间。 行级子查询SELECT * FROM t1 WHERE (col1,col2) = (SELECT col3,...

mysql做主从分离后插入更新过慢

(不过这样的设置是临时的,重启后失效,如果要永久,还是修改/etc/my.cnf) 不用重启,立马速度杠杠地、、还不明白原理,几下再说、、 mysql做主从分离后插入更新过慢标签:本文系统来源:http://my.oschina.net/shyl/blog/476289