
一、首先,打开SQL Server管理工具,使用SQL语句创建一个测试表。
二、然后在测试表中插入三个测试数据。
三、接着 用select * from tblUpdate语句,查询刚刚插入的数据。
四、使用update tblUpdate set Col2 批量修改整个表的数据。
五、使用update tblUpdate set Col2 =批量修改指定条数的记录。
1、首先你要保证你的两个表都有主键,或者有关联字段。例如:
表A(id,name,date)
id是主键
表B(id,name,date)
id是主键
1)导入B数据数据到A表保留date字段值(确切的说这种情况应该叫利用【B】表数据更新【A】表数据),用下面的sql就可以达到目的:
update
A
set
A.date=(select
B.date
from
B
where
B.id=A.id)
说明:这样做的话要保证A表和B表都有数据并且id字段能够关联上,而且这样修改的数据只是关联上的数据,假设A表中有【id=1】的数据而B表中没有
【id=1】的数据,那么A表中【id=1】的数据就不会被修改。
2)如果A表和B表都没有主键的话,那么寻找一个能够关联两个表数据的字段(这个字段可以从一定意义上作为"主键"区分表中数据),假设是id和name字段联合起来:
update
A
set
A.date=(select
B.date
from
B
where
B.id=A.id
and
B.name=A.name)
说明:在这个更新中更新条目也只限定于能够关联上的数据。
3)如果A表中没有数据只是想把B表中的数据全部插入A表(B表中date字段的值必须被保留的话)
insert
into
A
select
*
from
B
说明:在这个语句中,把B表中所有的数据不加修改的全部放入了B表,自然也就包含了date字段的值不变。
insert
intp
A
select
1,'张三',date
from
B
说明:在这个语句中,把B表中的date字段的只保留,id和name字段分别换成了【1】和【张三】(当然是所有数据的id和name字段都换了)
2、综合上面的观点
1)如果表1没有数据:insert
into
表1
select
*
from
表2
2)如果表1中有数据,并且和表2中的数据完全关联的上的话:
update
表1
set
表1.sj=(select
表2.sj
from
表2
where
表2.字段X=表1.字段X
and....)
3)如果表1中有数据,但是表2中只有一部分能够关联上,目的是关联上的更新,关联不上的插入表1的话:
先:update
表1
set
表1.sj=(select
表2.sj
from
表2
where
表2.字段X=表1.字段X
and....)
后:insert
表1
select
*
from
表2
where
表2.关联字段X
not
in(select
表1.关联字段X
from
表1)
and
表2.关联字段Y
not
in(select
表1.关联字段Y
from
表1)....
---
以上,希望对你有所帮助。
1.首先打开数据库查询语句,输入查询语句先查询一下数据表中的数据内容。2.输入查询语句,:Select * from Student,输入完毕之后选择全部内容...
3.执行完毕之后,在Student表中的第四行数据(StudentName中的“崔”)...
4.在你的数据表上,用鼠标右击选择里面的“编辑前200行”。
5.编辑完毕之后,可以在查询表中看到你的所有数据。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)