PythonとMySQL Connectorでテーブル内の特定の値を更新する方法を解説
テーブル内のデータは時間の経過とともに古くなり、後から修正が必要になることがあります。たとえば、学生情報を管理するテーブルがあり、ある学生が引っ越したために住所が変わったとしましょう。この場合、誤ったデータが原因で将来トラブルが発生しないよう、データベース側の情報も忘れずに更新しておく必要があります。
MySQLでは「UPDATE」ステートメントを使ってテーブル内の値を更新します。SET句で列に設定する新しい値を指定し、WHERE句でテーブル内のどの行を更新対象とするかを特定します。
基本構文
UPDATE table_name SET column=new_value WHERE column=old_value
PythonでMySQLのテーブルデータを更新する手順
MySQLコネクタをインポートする
connect()メソッドでデータベースへの接続を確立する
cursor()メソッドでカーソルオブジェクトを作成する
適切なMySQLステートメントでクエリを作成する
execute()メソッドでSQLクエリを実行する
commit()メソッドで変更を確定(コミット)する
接続を閉じる
ここでは、次のような「Student」というテーブルを例に説明します。
+----------+---------+-----------+------------+ | Name | Class | City | Marks | +----------+---------+-----------+------------+ | Karan | 4 | Amritsar | 95 | | Sahil | 6 | Amritsar | 93 | | Kriti | 3 | Batala | 88 | | Khushi | 9 | Delhi | 90 | | Kirat | 5 | Delhi | 85 | +----------+---------+-----------+------------+
サンプルコード
上記のStudentテーブルに対して、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()
このコードを実行すると、Kritiの都市名が更新されます。
実行結果
('Karan', 4, 'Amritsar', 95)
('Sahil', 6, 'Amritsar', 93)
('Kriti', 3, 'Kolkata', 88)
('Khushi', 9, 'Delhi', 90)
('Kirat', 5, 'Delhi', 85)
注意点:commit()を忘れないこと
上記のコードにおけるdb.commit()は非常に重要です。これはテーブルへの変更を確定するための処理です。commit()を呼び出さないままプログラムを終了すると、変更内容はデータベースに反映されず、元のデータのまま残ってしまいます。UPDATEやINSERTなどデータを書き換える操作を行った場合は、必ずcommit()を実行するようにしましょう。
-
PythonとMySQLで条件に合うデータを抽出する方法:WHERE句の使い方を徹底解説
テーブルからすべてのデータを取得する必要があるケースは、実はそれほど多くありません。むしろ、何らかの条件や基準に基づいて、特定のデータや行だけを取り出したいという場面の方が多いでしょう。例えば、多くの生徒の名前と点数が登録されたテーブルがあるとします。ここから「点数が90以上の生徒の名前だけを取得したい」という場合、(点数>=90)という条件に基づいてデータを選択する必要があります。このような条件付きのデータ抽出を実現するために、MySQLでは「WHERE」句が用意されています。WHERE句を使えば、指定した条件を満たすデータだけをテーブルから選択できます。基本構文SELECT * FR
-
Pythonで辞書の値を更新する方法|update()メソッドの使い方を解説
Pythonの組み込み型である辞書(dict)クラスには、update()メソッドが標準で用意されています。このメソッドは、別の辞書オブジェクトを引数として受け取り、呼び出し元の辞書にマージ(統合)することができます。 基本構文 D1.update(D2) 動作の仕組み D2の内容がD1に統合されます。このとき、キーの有無によって以下のように挙動が変わります。 D2のキーがD1にすでに存在する場合:そのキーの値がD2の値で上書き(更新)されます。 D2のキーがD1に存在しない場合:新しいキーと値のペアとしてD1に追加されます。 実行後、D1は更新された内容を保持します。 使用例 >&