python mysqlでdeleteを実行してデータを削除する

python mysqlでdeleteを実行してデータを削除する

pythonで、mysqlでdeleteを実行してデータを削除するサンプルコードを記述してます。pythonのバージョンは3.9.7を使用してます。

環境

  • OS windows 11 Home
  • python 3.9.7

mysql-connector-pythonインストール

ライブラリ「mysql-connector-python」を使用するのでインストールしてない場合は、
「pip」を使ってインストールします。

pip install mysql-connector-python

サンプルコード

localhostにある「mysql」に接続して、以下の構成のテーブル「foo」のデータを削除します。

テーブル「foo」

deleteを実行してidが「3」のデータを削除します。

import mysql.connector

# 接続情報を記述
conn = mysql.connector.connect(
    host="localhost", port="3306", user="root", password="password"
)

# 接続状況確認
if conn.is_connected():
    try:
        # 再接続を行うように設定
        conn.ping(reconnect=True)
        
        # autocommit禁止
        conn.autocommit = False

        # カーソル作成
        cr = conn.cursor()

        # DB選択
        cr.execute("use hoge;")

        # クエリを作成
        sql = ("""
            DELETE 
            FROM    foo
            WHERE   id = %s
        """)

        param = (3,)
        
        # deleteを実行
        cr.execute(sql, param)
        
        # コミットする
        conn.commit()
        
    except mysql.connector.Error as e:
        # ロールバック
        conn.rollback()
        print(e)
        
    finally:
        # クローズ
        cr.close()
        conn.close()
else:

    exit()

データが削除されていることが確認できます。