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

MySQLでテーブルの値を更新する方法|UPDATE文とWHERE句の基本

MySQLでテーブルの値を更新するには?

MySQLでは、UPDATE文WHERE句を組み合わせることで、テーブル内の1行または複数行の値を更新できます。UPDATE文は、WHERE句で指定した条件に一致する行だけを対象に処理を実行するため、意図したレコードだけを安全に書き換えることが可能です。

UPDATE文の基本的な構文

UPDATE テーブル名
SET カラム名1 = 値1, カラム名2 = 値2, ...
WHERE 条件;

SETの後に更新したいカラムと新しい値を指定し、WHEREの後に更新対象を絞り込む条件を記述します。

具体例:特定の従業員データを更新する

例として、「employee」テーブルにおいて、idが1である従業員の「name(氏名)」と「doj(入社日)」を変更したい場合、次のようなクエリを実行します。

mysql> UPDATE employee SET name = 'Gaurav', doj = '2010-02-01' WHERE id = 1;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1  Changed: 1  Warnings: 0

実行後、SELECT文でデータを確認すると、該当行が正しく更新されていることがわかります。

mysql> SELECT * FROM employee WHERE id = 1;
+------+--------+------------+
| id   | name   | doj        |
+------+--------+------------+
| 1    | Gaurav | 2010-02-01 |
+------+--------+------------+
1 row in set (0.00 sec)

注意点:WHERE句を忘れると全行が更新される

UPDATE文を使用する際は、WHERE句の記述忘れに特に注意してください。WHERE句を省略して実行すると、テーブル内のすべての行が同じ値で上書きされてしまいます。本番環境での操作前には、必ずSELECT文で対象行を確認し、必要に応じてトランザクションを活用することをおすすめします。

  1. MySQLテーブルを一括更新する方法|ADDTIME関数で複数行の時刻データをまとめて変更

    MySQLでは、UPDATE文と関数を組み合わせることで、テーブル内の複数のレコードを一度に一括更新(バッチ更新)できます。本記事では、時刻型(TIME型)のカラムに対してADDTIME関数を使い、すべての行の時刻をまとめて加算・更新する手順を、実際のSQL文と実行結果付きでわかりやすく解説します。1. サンプルテーブルを作成するまず、時刻データを格納するためのテーブル「DemoTable」を作成します。mysql> create table DemoTable    -> (    -> Bre

  2. PythonとMySQL Connectorでテーブル内の特定の値を更新する方法を解説

    テーブル内のデータは時間の経過とともに古くなり、後から修正が必要になることがあります。たとえば、学生情報を管理するテーブルがあり、ある学生が引っ越したために住所が変わったとしましょう。この場合、誤ったデータが原因で将来トラブルが発生しないよう、データベース側の情報も忘れずに更新しておく必要があります。 MySQLでは「UPDATE」ステートメントを使ってテーブル内の値を更新します。SET句で列に設定する新しい値を指定し、WHERE句でテーブル内のどの行を更新対象とするかを特定します。 基本構文 UPDATE table_name SET column=new_value WHERE colum