データベース操作(検索/更新系SQL/プリペア/トランザクション) [Python]
1. MySQLのインストール
MySQLの準備ができていない方はMySQLのインストールからコマンド操作(ユーザ/データベース/テーブルの作成)を参考にインストールして下さい。
この記事で使用するデータベース、テーブルは次の通りです。
データベース | sample_db |
テーブル | mst_dummy |

※適宜、自分の環境に合わせて下さい。
2. MySQL Connector/Pythonのインストール
AnacondaからMySQLの公式ライブラリである「MySQL Connector/Python」(mysql-connector-python)をインストールしてPythonで利用できるようにします。
Anaconda Promptを起動します。

次のコマンドを実行します。 アナコンダ公式より抜粋
conda install -c anaconda mysql-connector-python
途中で「Proceed([y]/n)?」が表示されますので、Yキーを押します。
...
Anaconda Navigatorが起動している場合は再起動します。次に左メニューのEnvironmentsを選択して、一番右に「sql」を入力したらmysql-connector-pythonが表示されればOKです。

次章からSQLとなります。
3. SELECT文(検索系SQL)
import mysql.connector try: # DB接続 db = mysql.connector.connect(user='test', password='1234567890', host='localhost', database= 'sample_db') # SQL(プリペアドステートメント) sql = "SELECT no,title FROM mst_dummy;" # SQLの実行 cursor = db.cursor() cursor.execute(sql) # データの取得 rows = cursor.fetchall() for i in rows: print(i[0], i[1]) finally: cursor.close() db.close() # 以下、結果 1 プチモンテ 2 かきくけこ
mysql.connector.connect(接続引数)はMySQL公式を参照。
4. INSERT/UPDATE/DELETE文(更新系SQL)、プリペアドステートメント、トランザクション
この例ではUPDATE文ですがINSERT/DELETE文でも同様です。
import mysql.connector try: # DB接続 db = mysql.connector.connect(user='test', password='1234567890', host='localhost', database= 'sample_db') # トランザクションの開始 db.autocommit = False # SQL(プリペアドステートメント) sql = "UPDATE mst_dummy set title=? WHERE no=?;" # SQLの実行 cursor = db.cursor(prepared=True) cursor.execute(sql,("プチモンテ",1,)) # コミット db.commit() except: db.rollback() finally: cursor.close() db.close()
スポンサーリンク
関連記事
公開日:2018年07月10日 最終更新日:2018年08月24日
記事NO:02698
この記事を書いた人
![]() | 💻 ITスキル・経験 サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。 画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ |
プチモンテ代表、アーティスト名:プチモンテ | |
🎵 音楽制作 BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~ |
オリジナル曲を始めました✨
YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte