2020年1月7日火曜日

ラズパイ(IOT・29)

お次は、各種ライブラリが豊富で、いざという時に役に立つ
Pythonからデータをいじれるように
MySQLにアクセスできるようにしてみます。

Python用のMySQLへ接続するためのライブラリは
色々ありますが、よく使われているところと、
更新対応が続いていてサポートが安心な、mysqlclient を
使ってみます。

インストールは以下から
sudo pip3 install mysqlclient

接続と実行は以下のような形になります。
フィールドへのパラメータもスムーズに利用できそうです。
トランザクション等は、オートコミットをOFFにすることで、
ロールバックさせる感じのようですね~
import MySQLdb
import time
import datetime

if (__name__ == "__main__"):
    conn = MySQLdb.connect(
        user='root',
        passwd='****',
        host='localhost',
        db='xxxxx',
        charset='utf8'
    )
    conn.autocommit(False)
    cur = conn.cursor()
    
    cnt = 0
    while True:
        try:
            cur.execute('SELECT * FROM table')
            result = cur.fetchall()
            for row in cur:
                print(row)
        except Exception as e:
            conn.rollback()
            raise e
        finally:
        
        cnt += 1
        dt_now = datetime.datetime.now()
        print('No:', cnt, dt_now)
        time.sleep(600.0)
        
    cur.close()
    conn.close()

10分毎に内容を出力するスクリプトを書いてみましたが、
今のところコネクションが途切れる様子は無いようです。

0 件のコメント:

コメントを投稿