㈠ 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);