PythonでMySQLのcommit()メソッドを使う方法とは?データベース変更の確定手順を解説
commit()メソッドは、Pythonでデータベーストランザクションを扱うためのメソッドの一つです。この記事では、commit()メソッドの役割と使い方について詳しく解説します。
commit()メソッドは、ユーザーがデータベースに対して行った変更を確定(コミット)するために使用されます。UPDATE文などのSQLステートメントを使ってデータベースに変更を加えた場合、その変更を確定する必要があります。もしcommit()メソッドを実行しないまま接続を閉じてしまうと、データベースは更新されず、変更内容は反映されません。
構文
db.commit()
ここで「db」は、connect()メソッドで作成したデータベース接続オブジェクトを指します。
以下では、テーブル内の値を更新し、その変更をデータベースにコミットする具体例を紹介します。
PythonとMySQLでテーブルのデータを更新・コミットする手順
mysql.connectorモジュールをインポートする
connect()メソッドを使ってデータベースとの接続を確立する
cursor()メソッドでカーソルオブジェクトを作成する
適切なMySQLステートメントでクエリを作成する
execute()メソッドでSQLクエリを実行する
commit()メソッドで変更内容を確定する
接続を閉じる
ここでは、次のような「Students」というテーブルがあると仮定します。
+----------+---------+-----------+------------+ | Name | Class | City | Marks | +----------+---------+-----------+------------+ | Karan | 4 | Amritsar | 95 | | Sahil | 6 | Amritsar | 93 | | Kriti | 3 | Batala | 88 | | Khushi | 9 | Delhi | 90 | | Kirat | 5 | Delhi | 85 | +----------+---------+-----------+------------+
サンプルコード
上記の学生テーブルにおいて、Kritiさんの居住都市を「Batala」から「Kolkata」に更新し、その変更をデータベースにコミットしてみましょう。
import mysql.connector
db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")
cursor=db.cursor()
query="UPDATE Students SET City='Kolkata' WHERE Name='Kriti'"
cursor.execute(query)
db.commit()
query="SELECT * FROM Students"
cursor.execute(query)
for row in cursor:
print(row)
db.close()上記のコードでは、まずUPDATE文でKritiさんの都市名を更新し、続いてdb.commit()を実行することで、その変更をデータベースに確定しています。最後にSELECT文で全件を取得して結果を確認しています。
実行結果
('Karan', 4, 'Amritsar', 95)
('Sahil', 6, 'Amritsar', 93)
('Kriti', 3, 'Kolkata', 88)
('Khushi', 9, 'Delhi', 90)
('Kirat', 5, 'Delhi', 85)実行結果を見ると、KritiさんのCityが「Batala」から「Kolkata」に正しく更新されていることがわかります。
注意点
上記のコードにおけるdb.commit()は非常に重要です。このメソッドによって、テーブルへの変更が確定されます。commit()を呼び出さない場合、たとえexecute()でクエリを実行しても、テーブルには一切変更が反映されません。INSERTやUPDATE、DELETEなどデータを変更する操作を行った際は、必ずcommit()を実行するようにしましょう。
-
PythonのCGIとは?仕組みとサーバー設定方法をわかりやすく解説
CGI(Common Gateway Interface:共通ゲートウェイインターフェース)は、HTTPサーバーなどの情報サーバーと外部のゲートウェイプログラムがやり取りするための標準規格です。現在のバージョンはCGI/1.1であり、CGI/1.2が策定中です。Webブラウジングの流れCGIの概念を理解するために、ハイパーリンクをクリックして特定のWebページやURLを閲覧するときに何が起こるのかを見てみましょう。ブラウザがHTTP Webサーバーに接続し、URL(つまりファイル名)を要求します。WebサーバーはURLを解析してファイル名を探します。該当するファイルが見つかればそれをブラウザへ
-
Python Tkinterのafter()メソッドの使い方を徹底解説
Tkinterは、PythonでGUIアプリケーションを作成するための標準ライブラリです。ウィンドウやボタン、ラベルなどのウィジェットを作成・操作するための組み込みメソッドが多数用意されており、データの表示やGUIイベントの処理を簡単に実装できます。本記事では、その中でも特に便利なafter()メソッドの使い方について、具体的なコード例とともに詳しく解説します。after()メソッドの基本構文.after(delay, FuncName=FuncName)このメソッドは、指定した遅延時間(ミリ秒単位)が経過した後に、引数として渡した関数FuncNameを呼び出します。タイマー処理や定期的な更新