プログラミング備忘録

初級プログラマ。python、DL勉強中

python3でMySqlを使う

事前準備

MySQL-pythonはpython3ではサポートされていないとのことなので以下をインストール

pip install mysqlclient

これにより MySQLdbをimport できるようになる

INSERT

import MySQLdb
import yaml

f=open("./dbinfo.yaml", "r")
keydict=yaml.load(f)["MYSQL"]
f.close()

host = keydict["HOST"]
user = keydict["USER"]
passwd = keydict["PASS"]

#DB接続
connection = MySQLdb.connect(
    host=host, user=user, passwd=passwd, db='db1', charset='utf8')
cursor = connection.cursor()

# INSERT
cursor.execute("INSERT INTO test VALUES ('本田' ,35 )")

# COMMIT
connection.commit()

#DB切断
connection.close()

以下のテーブルに「本田」が追加された

mysql>  SELECT * FROM test;
+--------+------+
| nama   | tosi |
+--------+------+
| 佐藤   |   40 |
| 高橋   |   28 |
| 中川   |   20 |
| 渡辺   |   23 |
| 西沢   |   35 |
| 本田   |   35 |
+--------+------+

SELECT

import MySQLdb
import yaml
import hashlib

f=open("./dbinfo.yaml", "r")
keydict=yaml.load(f)["MYSQL"]
f.close()

host = keydict["HOST"]
user = keydict["USER"]
passwd = keydict["PASS"]

#DB接続
connection = MySQLdb.connect(
    host=host, user=user, passwd=passwd, db='shop', charset='utf8')
cursor = connection.cursor()

# SELECT
query="SELECT code,name FROM mst_staff"
namelist=cursor.execute(query)
for row in cursor:
    print(row)


# COMMIT
connection.commit()

#DB切断
connection.close()