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

単一のクエリでMySQLデータを一括更新するにはどうすればよいですか?


CASEコマンドを使用すると、1つのクエリでMySQLデータを一括更新できます。構文は次のとおりです-

update yourTableName
set yourUpdateColumnName = ( Case yourConditionColumnName WHEN Value1 THEN ‘’UpdatedValue’
WHEN Value2 THEN ‘UpdatedValue’
.
.
N
END)
where yourConditionColumnName IN(Value1,Value2,.....N);

上記の概念を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table UpdateAllDemo
   −> (
   −> BookId int,
   −> BookName varchar(200)
   −> );
Query OK, 0 rows affected (1.18 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。レコードを挿入するためのクエリは次のとおりです-

mysql> insert into UpdateAllDemo values(1000,'Introduction to C');
Query OK, 1 row affected (0.15 sec)
mysql> insert into UpdateAllDemo values(1001,'Introduction to Java');
Query OK, 1 row affected (0.21 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from UpdateAllDemo;

以下は出力です-

+--------+----------------------+
| BookId | BookName             |
+--------+----------------------+
| 1000   | Introduction to C    |
| 1001   | Introduction to Java |
+--------+----------------------+
2 rows in set (0.00 sec)

次に、一括更新を行います。つまり、

を更新します。
  • 値「IntroductiontoC」と値「CinDepth」、および

  • 値「IntroductiontoJava」と値「JavainDepth」。

上記のように、これにはCASEコマンドを使用できます。クエリは次のとおりです-

mysql> update UpdateAllDemo
   −> set BookName = (CASE BookId WHEN 1000 THEN 'C in Depth'
   −> when 1001 THEN 'Java in Depth'
   −> END)
   −> Where BookId IN(1000,1001);
Query OK, 2 rows affected (0.24 sec)

これで、値がテーブルで更新されているか、selectステートメントを使用していないかを確認できます。

テーブル内の更新された値を確認するためのクエリは次のとおりです-

mysql> select *from UpdateAllDemo;

以下は、一括更新が成功したことを示す出力です-

+--------+---------------+
| BookId | BookName      |
+--------+---------------+
| 1000   | C in Depth    |
| 1001   | Java in Depth |
+--------+---------------+
2 rows in set (0.00 sec)

  1. MySQLデータベースのデータをJavaで更新する方法は?

    データをMySQLデータベーステーブルに更新するには、UPDATEコマンドを使用します。構文は次のとおりです- update yourTableName set yourColumnName1 = value1,....N where condition; まず、テーブルを作成する必要があります。クエリは次のとおりです- mysql> create table UpdateDemo    -> (    -> id int,    -> Name varchar(200) -> ); Query

  2. JavaでMySQLデータベースのデータを削除するにはどうすればよいですか?

    DELETEコマンドを使用してMySQLデータベースからデータを削除します。構文は次のとおりです。 delete from yourTableName where condition; 私はJAVAプログラミング言語の助けを借りてMySQLデータベースからデータを削除します。まず、テーブルを作成し、いくつかのレコードを挿入します。以下は、テーブルを作成するためのクエリです。 mysql> create table DeleteTableDemo    -> (    -> id int,    -> Name