■SQLiteで特定のレコードを抽出、データ更新・・・AIによる解説とコード例

UPDATE 文を使用します。更新する際は、対象外のレコードまで変更されてしまう事故を防ぐため、
必ず WHERE 句で条件を指定してください。

1. 基本のUPDATE構文抽出条件に一致するレコードのデータを書き換えます。

UPDATE テーブル名
SET カラム名1 = 更新値1, カラム名2 = 更新値2
WHERE 抽出条件;

【使用例】「users」テーブルから名前が「旧太郎」のレコードを抽出し、名前を「新太郎」、年齢を「20」にアップデートするクエリです。

UPDATE users
SET name = '新太郎', age = 20
WHERE name = '旧太郎';


2. Python (sqlite3) を使った実行例プログラミングからデータを抽出しアップデートする場合は、以下のように記述します。

pythonimport sqlite3

# データベース接続
conn = sqlite3.connect('example.db')
cursor = conn.cursor()

# UPDATE文の実行・・・追記:UPDATE文のなかで変数を使う方法は別記事参照
# 例: idが1のレコードの年齢を30に更新
sql = """
    UPDATE users
    SET age = 30
    WHERE id = 1
"""
cursor.execute(sql)
# 変更を保存(コミット)
conn.commit()
# 接続を閉じる
conn.close()


3. 注意点WHERE句の確認:
WHERE句を忘れると、テーブル内のすべてのレコードが更新されてしまいます。
UPDATEを実行する前に、同じ条件で SELECT を実行し、対象レコードが正しいか
確認する習慣をつけると安全です。
複数テーブルの更新: 
SQLite 3.33以降では、FROM 句を使用した複数テーブルの結合更新にも対応しています。