mysql-connector-pythonをインストールする
python3.3からmysql5.5のデータにアクセスする
mysql-connector-pythonをインストールする
環境
Ubuntu Quantal Quetzal 12.10 on VirtualBox 4.2.6
pythonは /opt/python3.3.0/bin/python3.3に、自前でビルドしてインストールしてある
$ uname -a Linux xubuntu-vbox 3.5.0-22-generic #34-Ubuntu SMP Tue Jan 8 21:47:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux $ mysql --version mysql Ver 14.14 Distrib 5.5.29, for debian-linux-gnu (x86_64) using readline 6.2 $ python -V Python 3.3.0
mysql-connector-pythonのインストール
distributeをインストール
pipをインストール
mysql-connector-pythonをインストール
$ wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.34.tar.gz $ tar zxvf distribute-0.6.34.tar.gz $ cd distribute-0.6.34 $ sudo /opt/python3.3.0/bin/python3.3 setup.py install $ ls /opt/python3.3.0/bin/ $ sudo /opt/python3.3.0/bin/easy_install-3.3 pip $ ls /opt/python3.3.0/bin/ $ sudo /opt/python3.3.0/bin/pip-3.3 install mysql-connector-python
こんなデータベースがあるとする
mysql> select * from tb1; +----------+--------------------------------+------+ | id | name | age | +----------+--------------------------------+------+ | K801 | Pythonista | 21 | +----------+--------------------------------+------+
pythonからMySQLのデータを読み出す
import mysql.connector connect = mysql.connector.connect(db="db1", host="localhost", port=3306, user="db1usr", passwd="1234") cur=connect.cursor() cur.execute('select * from tb1') rows = cur.fetchall() for row in rows: print(row) cur.close() connect.close()
pythonからMySQLへデータを書き込む
import mysql.connector connect = mysql.connector.connect(db="db1", host="localhost", port=3306, user="db1usr", passwd="1234", charset="utf8") cur = connect.cursor() stmt = ("INSERT INTO tb1(id, name, age) " "VALUES(%s, %s, %s)") data = ('K803', 'pythonia', 23) cur.execute(stmt, data) connect.commit() cur.close() connect.close()
参考
MySQL :: MySQL 5.5 Reference Manual :: 22.6.4.3 Inserting Data Using Connector/Python
http://dev.mysql.com/doc/refman/5.5/en/myconnpy_example_cursor_transaction.html
0 件のコメント:
コメントを投稿