データベースを使用しているときに、単一のレコードまたは複数のレコードのいずれかでいくつかのデータ値を更新したい場合がよくあります。構造化照会言語(SQL)は、データベースにアクセス、取得、および管理するためのさまざまなコマンドを提供します。ロットのうち、そのようなコマンドの1つはUPDATEコマンドです。 UPDATEコマンドは、テーブルに存在するデータを更新するために使用されます。この記事では、次のトピックについて説明します。
- UPDATEステートメント
- 構文
- 例:
- 単一のレコードを更新する
- ステートメントを複数のレコードに使用する
- WHERE句を省略してデータを更新する
- ステートメントを使用して、別のテーブルのデータを更新します
SQLUPDATEステートメント
UPDATEコマンドは、テーブルに存在する単一のレコードまたは複数のレコードを変更するために使用されます。
構文:
UPDATE TableName SET Column1 = Value1, Column2 = Value2, …, ColumnN = ValueN WHERE Condition;
ここで、WHERE句 更新する必要のあるレコードを指定します。念のため、WHERE句を省略すると、テーブルに存在するすべてのレコードが更新されます。
構文を理解したので、次に、例を使用してさまざまな使用方法について説明します。
例:
理解を深めるために、例を次のセクションに分けました。
- 単一のレコードを更新する
- ステートメントを複数のレコードに使用する
- WHERE句を省略してデータを更新する
- ステートメントを使用して、別のテーブルのデータを更新します
例を説明するために、次の表を検討します。
EmpID | EmpName | EmpEmail | PhoneNumber | 都市 |
1 | モハン | 9966449966 | デリー | |
2 | ソニア | 9746964799 | ムンバイ | |
3 | Sanjay | 9654323456 | バンガロール | |
4 | Avni | 9876543678 | ムンバイ | |
5 | Rahul | 9542456786 | デリー |
それぞれを見てみましょう。
単一レコードの更新
例:
3番目の従業員(従業員ID)を新しい電話番号と都市で更新するクエリを記述します。
UPDATE Employees SET PhoneNumber ='9646879876', City= 'Kolkata' WHERE EmpID = 3;
出力:
次の表が出力として表示されます。
EmpID | EmpName | EmpEmail | PhoneNumber | 都市 |
1 | モハン | 9966449966 | デリー | |
2 | ソニア | 9746964799 | ムンバイ | |
3 | Sanjay | 9646879876 | コルカタ | |
4 | Avni | 9876543678 | ムンバイ | |
5 | Rahul | 9542456786 | デリー |
次に、この記事では、複数のレコードのデータ値を更新する方法を理解しましょう。
複数のレコードを更新する
テーブル内の複数のレコードを更新するには、WHERE句を使用する必要があります。 WHERE句は、更新されるレコードの数を決定します。
例:
デリー市名のすべてのレコードについて、従業員のEmpEmailを[email protected]に更新するクエリを記述します。
UPDATE Employees Set EmpEmail = '[email protected]’ WHERE City =‘Delhi’;
出力:
次の表が出力として表示されます。
EmpID | EmpName | EmpEmail | PhoneNumber | 都市 |
1 | モハン | 9966449966 | デリー | |
2 | ソニア | 9746964799 | ムンバイ | |
3 | Sanjay | 9646879876 | コルカタ | |
4 | Avni | 9876543678 | ムンバイ | |
5 | Rahul | 9542456786 | デリー |
この記事に進み、WHERE句を省略してテーブルのデータを更新する方法を理解しましょう。
WHERE句を省略してデータを更新する
SQLでUPDATEステートメントを使用しているときにWHERE句を省略すると、更新する必要のあるレコードの数に制限はありません。そのため、すべてのレコードが自動的に更新されます。
例:
従業員のメールを[email protected]に更新するクエリを記述します。
UPDATE Employees Set EmpEmail = '[email protected]’;
出力:
次の表が出力として表示されます:
EmpID | EmpName | EmpEmail | PhoneNumber | 都市 |
1 | モハン | 9966449966 | デリー | |
2 | ソニア | 9746964799 | ムンバイ | |
3 | Sanjay | 9646879876 | コルカタ | |
4 | Avni | 9876543678 | ムンバイ | |
5 | Rahul | 9542456786 | デリー |
次のこの記事では、特定のテーブルのデータを別のテーブルから更新する方法を理解しましょう。
別のテーブルからデータを更新する
UPDATEステートメントを使用して、別のテーブルのデータを考慮して特定のテーブルのデータを更新できます。
次の表を考えてみましょう:
ContactID | ContactName | ContactEmail | PhoneNumber | 都市 |
1 | モハン・シャルマ | 9963449966 | デリー | |
2 | Sonia Khanna | 9461964799 | ムンバイ | |
3 | Sanjay Kapoor | 9719879876 | コルカタ | |
4 | Avni Mishra | 9889743678 | ムンバイ | |
5 | ラーフルロイ | 9818256786 | デリー |
例:
連絡先テーブルからデータを取得して、従業員の名前を更新するクエリを作成します。
UPDATE Employees SET EmpName = (SELECT EmpName FROM Contacts WHERE Contacts.City = Employees.City);
出力:
次の表が出力として表示されます。
EmpID | EmpName | EmpEmail | PhoneNumber | 都市 |
1 | モハン・シャルマ | 9966449966 | デリー | |
2 | Sonia Khanna | 9746964799 | ムンバイ | |
3 | Sanjay Kapoor | 9646879876 | コルカタ | |
4 | Avni Mishra | 9876543678 | ムンバイ | |
5 | ラーフルロイ | 9542456786 | デリー |
上記のクエリを次のように書き直すこともできます。
UPDATE Employees SET Employees.EmpName = Contacts.EmpName FROM Employees INNER JOIN Contacts ON (Employees.City = Contacts.City);
つまり、SQLでUPDATEステートメントを使用する方法です。これで、SQLUPDATEに関するこの記事は終わりです。この記事がお役に立てば幸いです。
詳細を知りたい場合 MySQL そしてこのオープンソースのリレーショナルデータベースを理解してから、をチェックしてください。 MySQLDBA認定トレーニング には、インストラクター主導のライブトレーニングと実際のプロジェクトの経験が含まれています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。
質問がありますか?この記事の「SQLUPDATE」に関するコメントセクションでそれについて言及してください。折り返しご連絡いたします。