python + Flask で MySQLに接続
python + flaskでMySQLにつなぐために、今回は mysql-connector-python を使っていきます。
これを選んだ理由は、他の方法でうまくいかなかったから。
あと、接続情報がぱっと見で見やすかったら、後からini化しやすいなぁと思ったので。
まずは、pipってmysql-connector-pythonを追加します。
>pip install mysql-connector-python
で本体はこんな感じで書きます。
ちなみにMySQL側はこんな感じで初期設定している前提で。
テーブル構成とデータ
python.py
from flask import Flask import mysql.connector #DB接続情報 def conn_db(): conn = mysql.connector.connect( host = '127.0.0.1', #localhostでもOK user = 'localadmin', passwd = 'passwd', db = 'sample' ) return conn #本体 sql = 'SELECT * FROM sample' try: conn = conn_db() #ここでDBに接続 cursor = conn.cursor() #カーソルを取得 cursor.execute(sql) #selectを投げる rows = cursor.fetchall() #selectの結果を全件タプルに格納 except(mysql.connector.errors.ProgrammingError) as e: print('エラーだぜ') print(e) print('select結果だぜ') for t_rows in rows: print(t_rows[0], t_rows[1], t_rows[2]) #selectの結果を1行ずつ表示
今回はSQLの実行結果を全件受けてタプルに格納して、printしています。
1件ずつ受けたい場合は、cusor.fetchone()で受けてください。
これができればあとは投げるSQLをINSERTにしたり、UPDATEにしたり、DELETEに変えればOK.