SQL批量更新数据

SQL批量更新数据,第1张

update BB set BBPrice=AAPrice from BTABLEB BB

inner join ALABLEA AA on BBProd=AAProdcode

如果在一个服务器上,可以用语句实现。

insert

into

database1dbotable1(a1,a2)

select

b1,b2

from

database2dbotable2

若在不同服务器上,可以用数据库的导出功能。

SQL语句中的更新语句update是最常用的语句之一,下面将介绍update语句的三种使用方法,供参考

一、环境:

MySQL-5041-win32

Windows

XP

professional

二、建立测试环境:

DROP

TABLE

IF

EXISTS

t_test;

CREATE

TABLE

t_test

(

bs

bigint(20)

NOT

NULL

auto_increment,

username

varchar(20)

NOT

NULL,

password

varchar(20)

default

NULL,

remark

varchar(200)

default

NULL,

PRIMARY

KEY

(bs)

)

ENGINE=InnoDB

AUTO_INCREMENT=4

DEFAULT

CHARSET=gbk;

INSERT

INTO

t_test

VALUES

(1,'lavasoft','123456',NULL);

INSERT

INTO

t_test

VALUES

(2,'hello',NULL,NULL);

INSERT

INTO

t_test

VALUES

(3,'haha',zz,tt);

三、测试

1、set一个字段

在表t_test中设置第二条记录(bs为2)的password为''。

update

t_test

t

set

tpassword

=

''

where

tbs

=

2;

2、set多个字段

在表t_test中设置第一条记录(bs为1)的password为''、remark为''。

update

t_test

t

set

tpassword

=

'',

tremark

=

''

where

tbs

=

1;

3、set

null值

在表t_test中设置第三条记录(bs为3)的password为null、remark为null。

update

t_test

t

set

tpassword

=

null,

tremark

=

null

where

tbs

=

3;

这个是按照标准语法写的,在不同的数据库系统中,update还有更多的写法,但是标准写法都是支持的。以上三个例子为了说明情况,每次都更新一行。在实际中,可以通过where语句约束来控制更新行数。

update ClassSubject set AvgScore=bsas

from ClassSubject a,(select sum(AvgScore) as sas,ClassId,SubjectId from ItemValid group by ClassId,SubjectId) b

where aClassId=bClassId and aSubjectId=bSubjectId

如果不行的话就将查询做一个临时表

select sum(AvgScore) as sas,ClassId,SubjectId INTO #A from ItemValid group by ClassId,SubjectId

go

update ClassSubject set AvgScore=bsas

from ClassSubject a,#A b

where aClassId=bClassId and aSubjectId=bSubjectId

go

用c#写sql语句

int NUM =32;

string str ="";

for (int a;a<400;a++)

{

str +="update recipe set photo_E_L='r0"+ NUMtostring() +"png' where id="+ NUMtostring();+"\r\n"

NUM ++;

}

//上面的代码 你得到了你要执行的sql语句,你可以将str输出到textbox中复制到企业管理器中执行,或者在c#中直接执行。

//不知道你的数据库,只能帮你这么多了

//补充下,因为是拼接字符串生成sql语句,不需要考虑数据类型

在数据库的 *** 作中,更新数据,是很常见的情况。如下参考:

1创建一个临时表,用于演示sqlserver语法中的更新更新修改方法。

2 创建另一个临时表,以演示如何将数据从一个临时表更新到另一个临时表,如下图。

3在临时表中插入几行测试数据,但不在Total列中插入值。

4从#tblUpdate中查询临时表select 中的测试数据;从#tblTotal中选择。

5使用update更新临时表#tblUpdate中的Total结果,假设Total = num price update #tblUpdate set Total = Num Price。

6 再次查询临时表#tblUpdate的结果,您可以看到之前为NULL的Total列有值。

注意事项:

SQL的核心部分相当于关系代数,但又具有关系代数所没有的许多特点,如聚集、数据库更新等。它是一个综合的、通用的、功能极强的关系数据库语言。

SQL数据同步:利用数据库复制技术实现数据同步(同时)更新、复制等概念

说明 :

复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。

SQLSERVER提供了三种复制技术,分别是:

1、快照复制

2、事务复制

3、合并复制

具体的步骤太多,你可以参考一下。

可以使用循环语句

while 条件

begin

执行 *** 作

set @i=@i+1

end

WHILE

设置重复执行 SQL 语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。

延展阅读:

SQL语句

结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;sql 语句就是对数据库进行 *** 作的一种语言。

语句

数据库:CREATE DATABASE database-name

删除数据:drop database dbname

创建表:create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],)

删除新表:drop table tabname

增加:Alter table tabname add column col type

设主键:Alter table tabname add primary key(col)

删除主键:Alter table tabname drop primary key(col)

创建索引:create [unique] index idxname on tabname(col…)

删除索引:drop index idxname

创建视图:create view viewname as select statement

删除视图:drop view viewname

sql语句

更新:update table1 set field1=value1 where 范围

查找:select from table1 where field1 like '%value1%' (所有包含'value1'这个模式的字符串)

排序:select from table1 order by field1,field2 [desc]

求和:select sum(field1) as sumvalue from table1

平均:select avg(field1) as avgvalue from table1

最大:select max(field1) as maxvalue from table1

最小:select min(field1) as minvalue from table1[separator]

以上就是关于SQL批量更新数据全部的内容,包括:SQL批量更新数据、SQL如何将两个不同数据库同一张表的数据同步更新(sqlserver把一个表的数据更新到另一个表)、sql数据库更新语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10138938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存