MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

別のMySQLテーブルの値を使用して、あるMySQLテーブルの値を更新するにはどうすればよいですか?


別のMySQLテーブルの値を使用して1つのMySQLテーブルの値を更新するには、UPDATEステートメントのSET句の式としてサブクエリを使用する必要があります。

この例では、「student」と「info」の2つのテーブルがあります。 「info」テーブルの「remarks」列の値を使用して、テーブル「student」の「grade」列の値を更新します。

mysql> select * from student;
+----+---------+-------+
| Id | Name    | grade |
+----+---------+-------+
| 1  | Rahul   | NULL  |
| 2  | Gaurav  | NULL  |
| 3  | Raman   | NULL  |
| 4  | Harshit | NULL  |
| 5  | Aarav   | NULL  |
+----+---------+-------+
5 rows in set (0.01 sec)

mysql> select * from info;
+------+-----------+
| id   | remarks   |
+------+-----------+
| 1    | Good      |
| 2    | Good      |
| 3    | Excellent |
| 4    | Average   |
| 5    | Best      |
+------+-----------+
5 rows in set (0.00 sec)

mysql> UPDATE STUDENT SET grade = (SELECT remarks from info WHERE info.id = student.id) WHERE id > 0;
Query OK, 5 rows affected (0.08 sec)
Rows matched: 5 Changed: 5 Warnings: 0

上記のクエリは、サブクエリを使用して、「学生」テーブルの成績列の値を更新します。これは、MySQLクエリに従って返された結果セットから確認できます。

mysql> Select * from student;
+----+---------+-----------+
| Id | Name    | grade     |
+----+---------+-----------+
| 1  | Rahul   | Good      |
| 2  | Gaurav  | Good      |
| 3  | Raman   | Excellent |
| 4  | Harshit | Average   |
| 5  | Aarav   | Best      |
+----+---------+-----------+
5 rows in set (0.00 sec)

  1. C#でLINQを使用してコレクションの値を更新するにはどうすればよいですか?

    コレクションがリストの場合、LINQの一部として利用できるForEach拡張メソッドを利用できます。 例 using System; using System.Collections.Generic; namespace DemoApplication {    class Program {       static void Main(string[] args) {          List<Fruit> fruits = new List<Fruit> { &n

  2. Pythonを使用してMySQLのテーブルの特定の値を更新するにはどうすればよいですか?

    表のデータが古くなっている可能性があり、しばらくしてからデータを変更する必要がある場合があります。学生のテーブルがあり、学生の1人が住所を変更したとします。間違ったデータによる将来の問題を回避するために、データベース内の学生の住所を変更する必要があります。 MySQLの「UPDATE」ステートメントは、テーブル内の値を更新するために使用されます。SET句は、列に新しい値を設定するために使用されます。 WHERE句は、テーブルのどこでデータまたは値を更新する必要があるかを識別するために使用されます。 構文 UPDATE table_name SET column=new_value WHERE