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

MySQLで特定のカラムの値を交換・更新する方法

はじめに

MySQLでは、UPDATE文とWHERE句を組み合わせることで、特定の条件に一致する行のカラム値を簡単に変更できます。この記事では、サンプルテーブルを作成し、特定のカラムの値を別の値に置き換える手順を、実際の実行例とともにわかりやすく解説します。

テーブルの作成

まず、以下のコマンドでテーブルを作成します。

mysql> create table DemoTable1504
    -> (
    -> Id int,
    -> FirstName varchar(20)
    -> );
Query OK, 0 rows affected (0.83 sec)

レコードの挿入

続いて、INSERTコマンドを使ってテーブルにデータを挿入します。

mysql> insert into DemoTable1504 values(101,'Chris');
Query OK, 1 row affected (0.63 sec)
mysql> insert into DemoTable1504 values(102,'Bob');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable1504 values(103,'David');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable1504 values(104,'Mike');
Query OK, 1 row affected (0.10 sec)

登録データの確認

SELECT文ですべてのレコードを表示して、正しく登録されているか確認しましょう。

mysql> select * from DemoTable1504;

実行結果は以下の通りです。

+------+-----------+
| Id   | FirstName |
+------+-----------+
|  101 | Chris     |
|  102 | Bob       |
|  103 | David     |
|  104 | Mike      |
+------+-----------+
4 rows in set (0.00 sec)

特定のカラム値を交換するクエリ

ここでは、Id=103の行にあるFirstNameの値「David」を「Carol」に変更します。使用するクエリは以下の通りです。

mysql> update DemoTable1504
    -> set FirstName='Carol'
    -> where Id=103
    -> and FirstName <> 'Carol';
Query OK, 1 row affected (0.13 sec)
Rows matched: 1  Changed: 1 Warnings: 0

ポイントは、WHERE句に「FirstName <> 'Carol'」という条件を追加している点です。これにより、すでに目的の値が設定されている行に対しては更新処理が実行されないため、無駄な書き込みを防ぐことができます。

更新結果の確認

もう一度SELECT文を実行して、テーブルの内容を確認してみましょう。

mysql> select * from DemoTable1504;

実行結果は以下の通りです。

+------+-----------+
| Id   | FirstName |
+------+-----------+
|  101 | Chris     |
|  102 | Bob       |
|  103 | Carol     |
|  104 | Mike      |
+------+-----------+
4 rows in set (0.00 sec)

Id=103のFirstNameが「David」から「Carol」に正しく更新されていることが確認できます。

まとめ

このように、UPDATE文とWHERE句を組み合わせれば、MySQLで特定の行のカラム値を安全かつ効率的に変更できます。「現在の値と異なる場合のみ更新する」という条件を加えることで、不要な更新処理を回避できるのも実用的なテクニックです。ぜひ日々のデータベース操作に活用してください。

  1. MySQLでテーブルの列(カラム)の値から部分文字列を抽出する方法

    MySQLのSUBSTR()関数で部分文字列を抽出するMySQLでテーブルの列(カラム)の値から部分文字列を抽出したい場合は、MySQLに組み込まれているSUBSTR()関数を使用します。基本的な構文は以下の通りです。select substr(対象の列名, 開始位置) as 別名 from テーブル名;第1引数に対象となる列名、第2引数に抽出を開始する文字位置を指定します。指定した位置から文字列の末尾までが抽出されます。サンプルテーブルの作成SUBSTR()関数の動作を理解するために、まずテーブルを作成しましょう。テーブル作成用のクエリは以下の通りです。mysql> create ta

  2. MySQLで特定のカラムのデータをエクスポートする方法(INTO OUTFILEの使い方)

    MySQLで特定のカラムのデータをエクスポートする方法 MySQLでテーブルから特定のカラム(列)のデータだけをファイルに書き出したい場合は、SELECT文とINTO OUTFILEを組み合わせるのが最もシンプルで確実な方法です。この記事では、実際にテーブルを作成し、データを投入したうえで、特定のカラムをテキストファイルへエクスポートする手順を順番に解説します。 基本構文 特定のカラムをファイルに出力する際の基本構文は次のとおりです。 select yourColumnName from yourTableName into outfile yourLocationOfFile; このように