Python3ではMysql-pythonが使えないということで
mysqlclientとmysql-connector-phythonを導入する必要があるということ。
$ sudo pip3 install mysqlclient
$ sudo pip3 install --upgrade pip
試しに以下のようにMySQLでデータベースを用意する。
$ mysql -u root -p
mysql> create database list;
mysql> create table list.personal(id int, name varchar(20));
mysql> show tables from list;
+----------------+
| Tables_in_list |
+----------------+
| personal |
+----------------+
mysql> insert into list.personal(id,name) values(1,'Satoh');
mysql> select * from list.personal;
+------+-------+
| id | name |
+------+-------+
| 1 | Satoh |
+------+-------+
定義は省略できるので、以下でもOK.
mysql> insert into list.personal values(2,'Kondo');
以下のコード(dbsample.py)を作成し、データベースの読み出しと追加ができた。
python3 dbsample.py
#!/usr/bin/python3
import MySQLdb
def showUser():
connector = MySQLdb.connect(
user='root',
passwd='mysql',
host='localhost',
db='list',
charset="utf8")
cursor = connector.cursor()
# read
cursor.execute("select * from personal")
for row in cursor.fetchall():
print("ID:" + str(row[0]) + " NAME:" + row[1])
# insert
sql = u"insert into list.personal values(3,'Abe')"
cursor.execute(sql)
connector.commit()
# read
cursor.execute("select * from personal")
for row in cursor.fetchall():
print("ID:" + str(row[0]) + " NAME:" + row[1])
cursor.close
connector.close
参考
http://note.kurodigi.com/python3-mysql/
Python - if name == ‘main‘: の意味に関しては以下が参考になった。
http://azuuun-memorandum.hatenablog.com/entry/2015/05/09/002549
0 件のコメント :
コメントを投稿