Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 更新操作 | CRUD(作成・読み取り・更新・削除)
Pythonでのデータベース操作
セクション 2.  4
single

single

book更新操作

メニューを表示するにはスワイプしてください

SQLiteにおける__更新操作__は、データベーステーブル内の既存データを__修正__する処理。これらの操作は、特定の条件に基づいて既存レコードに__変更__を加える際に使用。

データを__更新__するための主なSQL文はUPDATE文。基本的な例は以下の通り:

import sqlite3

conn = sqlite3.connect("my_database.db")  # connect to the database
cursor = conn.cursor()

# SQL query to update a specific record in the `articles` table
update_query = "UPDATE articles SET title = 'New Title' WHERE id = 1"
# Execute the SQL query to perform the update
cursor.execute(update_query)

conn.commit()  # save the changes to the database
conn.close()  # close the connection

このSQLクエリは、articlesテーブル内のレコードを更新し、title"New Title"であるレコードのidフィールドの値を1に__置き換える__。その後、cursor.execute(update_query)コマンドがSQLクエリをデータベースに送信し、テーブル内の指定されたレコードに__変更を適用__する。

複数レコードの更新

特定の条件に一致する複数のレコードを更新するには、WHEREクエリでUPDATE句を使用:

UPDATE articles SET title = "New Title" WHERE author = "John"

このクエリは、authorが"title"に一致するすべてのレコードの"John Doe"を更新。

複数カラムの同時更新

SET句で複数のカラムを指定することで、同時に複数カラムを更新可能:

UPDATE articles SET title = "New Title", content = "New Content" WHERE id = 1

このクエリは、"title""content"であるレコードの"id"1を__両方更新__。

SQLクエリ作成におけるf-Stringsの活用

Pythonのf-stringsを使うことで、sqlite3ライブラリでSQLクエリを記述する際に、追加のフォーマット操作なしで変数値を動的に組み込むことができる。これにより、コードの可読性と記述性が向上し、変数を直接クエリ文に埋め込むことが可能。

UPDATEクエリで変数を利用し、動的にデータを更新できる。

new_title = "Updated Title"
record_id = 2
update_query = f"UPDATE articles SET title = '{new_title}' WHERE id = {record_id}"

このクエリは、"title"変数に格納された値と等しい"id"を持つレコードのrecord_idを更新。

これらが、Pythonを用いたSQLiteでの更新操作の基本概念。必要に応じて、UPDATEクエリをカスタマイズし、データベース内の特定データを修正可能。

タスク

スワイプしてコーディングを開始

users テーブル内のユーザーのメールアドレスを__更新する__ためのSQLクエリを作成してください。email'new@gmail.com' のレコードの id フィールドの値を 1 に変更します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt