学ぶSQL:マイクロソフトSQL Server



あなたはSQLステートメントを使用してテーブル内のデータを更新する方法を疑問に思ったことがありますか?このエントリでは、我々は探索し、どのように我々はこのエキサイティングなタスクを達成することができますを示します.
データを更新するタスクは、テーブル内のデータを誤っていることを見つけるとき、または我々はいくつかの変更を我々が受け取ったいくつかの新しい情報に基づいて必要があるシナリオで便利になります.
これを確認するには、SSMSのHuman ResourceSessionsテーブルのSELECTステートメントを使用します.

このSQLステートメントを実行した結果セットは、HumberResourceStationテーブルの内部に現在のデータを与えます.

I have inserted the data from the previous episode, back into the table for consistency.


我々が最後のエントリでミスをしたと想像してください、我々がデータをテーブルに挿入して、「成長と教育」の代わりに、GroupNameコラムは『成長と発展』を含みます.これを達成するには、更新クエリ文を構築する必要があります.
update文の構文は次のとおりです.
update [Table-Name] 
set [Column-Name] = value
Where [Unique-Identifier] = [Identifier]

Ensure the unique identifier is in fact unique in the table, usually the key for the table would be unique and therefore makes an excellent value to use.


この構文に従うことによって、GroupNameで値を変更したいなら、これはどのように見えるでしょう.
update [HumanResources].[Department]
set GroupName = 'Growth and Development'
Where DepartmentID = 17
このUpdateステートメントを実行し、HumanResourceSpaceテーブルのデータをチェックすると、データが更新されていることがわかります.

Just to make it absolutely clear, the Where clause inside of your Update Statement is very scary, if we provide it with incorrect information it could end up updating data where we did not intend or worse update an entire column of data.


個人的には、SELECT文を使用して更新する必要がある列をダブルチェックします.
Select * from [Table-Name]
Where [Unique-Identifier] = [Identifier]
このSELECT文を使用して、UPDATE文を実行する前に、正しいデータを操作していることを確認できます.


更新複数の列
つのSQLステートメントで複数の列を更新することもできます.例えば、「学習」から「Upskill」へのName列の値を変更したい
必要なのは、set節の列名をダッシュで区切ることです.
update [Table-Name] 
set [Column-Name] = value, [Column-Name] = value, ...
Where [Unique-Identifier] = [Identifier]

We can update as many columns as we want for the given table.


DESCRIPTIMED = 17で行のNameModifiedDateを更新しましょう.
update [HumanResources].[Department]
set GroupName = 'Growth and Development', Name = 'Upskill', ModifiedDate = getDate()
Where DepartmentID = 17

つまり、テーブル内のレコードを更新する方法です.簡単右!
私は本当にこのエントリは有益であり、あなたの旅に沿ってSQLのマスタリングに役立ちます願っています.