当前位置:首页 » 编程语言 » mysql批量更新sql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mysql批量更新sql

发布时间: 2022-01-31 11:53:42

㈠ mysql批量更新,数据存在则更新,不存在则插入

首先,要为工号字段user_no建立唯一索引。

SQL语句使用REPLACE代替INSERT即可,例如:
REPLACE INTO 表名 (user_no, username, sex) values (123, 'xyz', '女');

上面语句执行时候会字段判断123的user_no是否存在,存在就替换其名字和性别,否则就插入整行。

㈡ MySQL有办法批量更新所有表的同一名称的字段吗

MYSQL数据库字段内容批量更新:
利用sql中case when结构可以根据不同的条件批量更新,举例如下:
UPDATE order
SET display_order = CASE id
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
这句sql的意思是,更新display_order 字段,如果id=1 则display_order 的值为3,如果id=2 则 display_order 的值为4,如果id=3 则 display_order 的值为5。

㈢ mysql 批量更新10000+的数据,有什么效率比较高的方法

首先, 插入上万条数据,对于数据库来说并不是“很大”的工作量,一般配置的笔记本电脑都可以在1分钟内完成。 所以最简单、最灵活的办法还是写SQL语句。

如果不希望DB编译器每次执行都编译SQL的话,可以使用存储过程,直接调用,性能上会好很多。也比较简单。
(几万条数据怎么地也得要时间去处理,所以不可能特别快的。)

如果由于各种原因,导致这个插入还是很慢, 而且你的MYSQL又是5.0以上版本的话,可以使用BulkCopy来进行批量操作。
BulkCopy的原理就是Client直接把一个数组(DataTable)传给DB,然后传入表名,所有的编译、操作都由DB自己完成,效率很高。
引用MySql.Data.dll , 调用MysqlBulkCopy函数即可。

这个函数在处理海量数据插入的时候效率尤为明显, 小量数据反而没什么优势,而且由于传入的DataTable格式必须和表的字段一模一样(空的列也要传进去),导致C#要写很多代码来构造这个数组,所以要你自己权衡用还是不用。
我在自己的电脑上批量插入一亿条数据,Insert写法大概需要1小时,BulkCopy大概只需要5分钟。

㈣ mysql update 批量更新多个条件同一个字段

如果不是动态的uid,那就直接写一条SQL,也是用in(),
还有如果想保存已修改的uid,可以建个临时表,一个字段,把uid写入进去,然后关联查询并更新主表

㈤ mysql批量修改字段动态内容的sql语句怎么写

如果表a有自增长ID的话就很好办了 update a set b = id 如果没的话写一个PHP的小程序就好
<?php
$con = mysql_connect("localhost","root","password") or die("数据库连接失败".mysql_error());//连接数据库
mysql_select_db("test",$con) or die ("数据库选择失败".mysql_error());
mysql_query("set names gbk");//设置编码格式
$a = mysql_query("select * from a");
$n = 1;
while($b = mysql_fetch_array($a))
{
mysql_query("update a set b = "."'".$n."'"." where id = ".$b['id']); //where 后面的条件语句可以是任意该表内字段
$n++;
}

㈥ MYSQL执行sql语句,批量更改为指定时间段的随机时间

1、首先打开mysql,连接一个数据库,点击上方的【查询】按钮,再点击【新建查询】,如图所示。

㈦ mysql批量更新多表数据

mysql批量更新多表数据
update 库2.tb,库1.tb set 库2.tb.body=库1.tb.body where 库2.tb.id= 库1.tb.id

㈧ MYSQL数据库字段内容如何批量更新

MYSQL数据库字段内容批量更新:
利用sql中case when结构可以根据不同的条件批量更新,举例如下:
UPDATE order
SET display_order = CASE id
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
这句sql的意思是,更新display_order 字段,如果id=1 则display_order 的值为3,如果id=2 则 display_order 的值为4,如果id=3 则 display_order 的值为5。

㈨ mysql批量update怎么写

首先,要为工号字段user_no建立唯一索引。 SQL语句使用REPLACE代替INSERT即可,例如: REPLACE INTO 表名 (user_no, username, sex) values (123, 'xyz', '女'); 上面语句执行时候会字段判断123的user_no是否存在,存在就替换其名字和性别

㈩ 大批量插入数据,mysql批量更新与插入多种

mysql的项目,需要设计一个快速上载的机制。最后的解决办法是利用了mysql的预处理语句的特性实现的。mysql的预处理语句支持多行数据的预处理,即 insert into (columnName,columnName,...) values(?,?,...)(?,?,..)...。这样你在绑定输入参数的时候可以在程序里将整张表的数据都绑定好然后调用一次执行就能将整张表的数据插入,比用mysql_query一行一行插入省的几倍的时间。不过你一次发到mysql服务器端的数据多的情况下,要设置my.ini文件下的一个配置项,把服务器允许一次发送的数据包的大小调大就行。