㈠ sql如何更新数据(用sql语句)
代码如下:
--创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '
--查询示例
select * from ITSV.数据库名.dbo.表名
--导入示例
select * into 表 from ITSV.数据库名.dbo.表名
--以后不再使用时删除链接服务器
exec sp_dropserver 'ITSV ', 'droplogins '
--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset
--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表
--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1
--openquery用法需要创建一个连接
--首先创建一个连接创建链接服务器
exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV, 'SELECT * FROM 数据库.dbo.表名 ') as a
inner join 本地表 b on a.列A=b.列A
--3、opendatasource/openrowset
SELECT *
FROM opendatasource( 'SQLOLEDB ', 'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
㈡ 求助sql 查询数据库最新的5000条数据
select * from
(select * from tablename order by createdate desc) aaa -- 按创建时间倒排序
where rownum <= 5000;
㈢ SQL如何更新汇总表数据
可以修改表2里已经存在的,比如表1原来有A列为test,B列为1的数据现在又增加了test,B列为2
如果要汇总的话,表2相应的字段就是test,3的内容
然后再判断新增的直接也就是表2没有的内容,直接汇总后insert就OK了
㈣ sql 数据汇总统计
我来回答 select 姓名, sum(上课次数) as 上课次数 from 你的表 group by 姓名
㈤ mysql数据查询,共有5000条数据,要有三种返回结果。
通过mysql三次查询,出三个数组。。如果访问量大的话数据三个数据缓下来,简单的可以把数组写入文件,当文件不超时时间调用文件,不再查询。。当文件超时重新查询数据库并更新文件。
㈥ 求助:更新数据库第5000-10000条数据
SQL SERVER2005下有个函数
row_number() 可以得到某行的 行标。
要跟新5000-10000行的数据,可以考虑用这个函数先得到他的行标,然后更新
参考
update (select *,row_number() OVER(order by [某列]) AS 'RowNum' from [表])AS B set [列]=[值] where RowNum between 5000 and 10000
这样就可以跟新第5000-10000行的数据了。
具体的row_number()用法,请参考MSDN
㈦ 我使用的是sql server,如何把5000条数据,循环插入到一个表。
你用游标,拼成一个批执行的语句。
比如你现在是
insert into () values ();每句执行一次,
改成,先在游标里把语句拼成
insert into ()
select ...
union select ...
union select ... 这种形式,然后在游标外执行一次就可以了。
㈧ sql 语句 汇总一张表中的最新的五条数据,怎么写
怎么判断最新5条,如果按id大小的话可以这样
selectsum(t.b)from
(selecttop5*from表名orderbyiddesc)t
㈨ sql server导出后5000条数据
打开sql server 2008 后,选择你要导出的数据库2在数据库上右击,选择【任务】→【生成脚本】3进入简介页面,直接点击【下一步】就可以了4选择对象页面,可以选择导出整个数据库的脚本,或者其中的部分表,很灵活5进入设置脚本选项,首先把导出的路径选择好防止一会儿忘记设置路径,找不到导去哪里了然后点击【高级】6在高级选项页面,在左侧找到【要编写脚本的数据类型】,然后在右侧的下拉框中选择【架构和数据】这一步操作千万不要忘记了!除非你不想要数据,只要表的结构。之后回到编写选项的页面,点击【下一步】7要摘要页面,可以做个简单的检查,看前面的选择是不是您想要的检查无误,点击【下一步】,开始执行8好了,导出成功啦 (^o^)/快快去你设置的路径找脚本吧END方法2:动软代码生成器打开动软代码生成器,并连接上数据数点击右侧的【数据库脚本生成器】选择你要导出的数据库选择保存的路径和名字,然后选择要导出的表,可以选择全部表或部分表设置好后,点击【生成】OK啦
㈩ sql在update更新时如何快速且大批量的更新数据
使用merge语句吧
语法:
MERGE INTO 目标表 AS A
USING 源表 AS B
ON (A.COL = B.COL) --匹配条件
WHEN MATCHED THEN --当匹配上就用B表的字段更新A表的字段
UPDATE SET
A.COL1 = B.COL1,
...
A.COLn = B.COLn
WHEN NOT MATCHED THEN INSERT(A.COL1,...,A.COLn) --下面这句是不匹配就插入数据
VALUES (B.COL1,...,B.COLn);