㈠ sql數據更新
不需要讀出所有欄位。
在Linq to Sql中,有兩種情況:
1對同一欄位的若干行同時進行修改,例如銷售價格的前10行同時加價10元。
2對指定行的某幾個欄位修改。
示例:
1,設置DataContext,連接到AdventureWorksLT2008,執行ExecuteCommand命令使Proct表中的銷售價加1。將下面代碼放到Main方法。
string connectionString =
"Data Source=.;Initial Catalog=AdventureWorksLT2008;Integrated Security=True";
db =
new (connectionString);
IEnumerable<Decimal> listPriceQuery1 = (from prod in db.Procts
select prod.ListPrice).Take(10);
db.ExecuteCommand("UPDATE [SalesLT].[Proct] SET ListPrice = ListPrice + 1.00");
程序運行後通過DataContext管道將更新回調到資料庫。用SSMS查看資料庫,顯示Proct表的ListPrice列數據增加1。
2,查詢資料庫AdventureWorksLT2008的SalesOrderHeader表71774號訂單,改變查詢結果中的OrderDate、ShipMethod和Freight的值。最後提交到資料庫改變這三列的相應行的值。
var orderQuery = from order in db.SalesOrderHeaders
where order.SalesOrderID == 71774
select order;
foreach (SalesOrderHeader ord in orderQuery)
{
ord.ShipDate = new DateTime(2004, 6, 9);
ord.ShipMethod = "中國遠洋運輸公司";
ord.Freight = new decimal(99.0087);
}
try
{
db.SubmitChanges();
}
catch (Exception e)
{
Console.WriteLine(e);
}
執行以上代碼就可更新數據。
詳細內容請看我的博客:163博客danyaody,網路網頁搜。
㈡ sql更新資料庫
1、整理改動的腳本,在正式伺服器執行所有腳本(其實應該每次改動的時候去做這樣的工作,一大批,風險比較高)
2、對比兩個資料庫的結構,做數據遷移,把正式的舊資料庫的數據遷移到改動過結構的空白資料庫
㈢ sql update 如何更新日期型數據
update [表名]
set [日期型欄位] = null
where [條件欄位] = 判定條件;如果所有該日期型欄位都需要清空,就不加where從句。
更新資料庫里日期類型的數據:
1、如果是更新成當前時間的話:
sql:update tablename set timeNew =sysdate;
2、如果是更新成固定的時間或者是固定格式的時間,可以通過TO_DATE語句實現:
sql:update tablename set timeNew =TO_DATE('2015-12-21', 'YYYY-MM-DD');
(3)sql最新更新擴展閱讀:
updateSQL的時間變數:
update temp
set dt=CONVERT(DATETIME,'2015-09-17 '+CONVERT(VARCHAR,dt,114))
--dt為欄位,類型為datetime
CONVERT(VARCHAR,dt,114) 為獲取dt中的時間部分。如「07:50:59.897」
再將其與日期字串連接,之後將整字串轉換為datetime類型更新到表裡。
㈣ sql更新資料庫語句
sql更新資料庫語句
UPDATE語句用於更新修改指定記錄的數據,其用法為:
UPDATE tbl_name SET col_name1=value1, col_name2=value2, … WHERE conditions
對符合條件的記錄,更新修改指定欄位的值。若沒有WHERE條件限定,則對所有記錄進行更新修改。例如:
圖 4.23 更新記錄
㈤ SQL檢索條件取最新更新的數據
Select dinstinct 序號,
(Select Top 1 金額 From Table where 序號 = t.序號 Order By 時間 Desc)
From Table t
㈥ sql查詢 更新語句怎麼寫
1、首先需要打開sql server 資料庫。
㈦ sql更新數據
CREATETABLEA(
[型號]varchar(10),
[規格]varchar(10),
[單個用量]INT,
[總量]INT
);
CREATETABLEB(
[型號]varchar(10),
[選中]varchar(10),
[今日製造]INT
);
INSERTINTOA([型號],[規格],[單個用量])
SELECT'A','30*30',1UNIONALL
SELECT'A','25*25',3UNIONALL
SELECT'A','27*27',4UNIONALL
SELECT'B','25*25',7UNIONALL
SELECT'C','60*60',3;
INSERTINTOB
SELECT'A','true',15UNIONALL
SELECT'B','false',0UNIONALL
SELECT'C','true',15;
UPDATEA
SET[總量]=[單個用量]*(SELECT[今日製造]FROMBWHEREB.[型號]=A.[型號]ANDB.[選中]='true')
SELECT*FROMA;
型號規格單個用量總量
------------------------------------------
A30*30115
A25*25345
A27*27460
B25*257NULL
C60*60345
(5行受影響)
㈧ 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語句怎樣查詢最近滿足特定更新條件的5條記錄
如果數據量小的話,建議lz建立一個觸發器和一個中間表(表裡建立一個插入時間欄位,插入新紀錄後根據時間欄位取前5條,其他記錄可保存也可刪除),查詢時從中間表中讀即可。