python36で別のホストのmysqlに接続する。
環境
接続元
接続先
準備
MySQLサーバ
事前にDBとテーブルを作っておきます。 ユーザー、パスワードとかは特に作成せず、起動したてのままでOKです。 SQLは適当に作成します。
mysql > CREATE DATABASE testdb; mysql > USE testdb; mysql > CREATE TABLE employee(name varchar(20), age int, job varchar(20), salary int); mysql > INSERT INTO employee (name, age, job, salary) VALUES ('tanaka',20,'engineer',400); mysql > GRANT ALL PRIVIEGES ON *.* TO root@aaa.aaa.aaa.aaa;
AWS
セキュリティグループをMySQLのport3306を開けておいてください。
python
sudo pip-3.6 install pymysql
が必要です。
実装コード
import pymysql db = pymysql.connect( host='xxx.xxxx.xxx.xxx', user='root', password='', db='testdb', charset='utf8', cursorclass=pymysql.cursors.DictCursor, ) cur = db.cursor() sql = "select * from employee" cur.execute(sql) employees = cur.fetchall() print(employees)
[{'name': 'tanaka', 'age': 20, 'job': 'engineer', 'salary': 400}]
と、listになって返ってくるので、あとは煮るなり焼くなり好きにしてです。