web-dev-qa-db-ja.com

Windows上のPython 3でMySQLに接続するにはどうすればよいですか?

ActiveState Python 3をWindowsで使用していて、MySQLデータベースに接続したかった。 mysqldb が使用するモジュールだと聞いた。 Pythonのmysqldbが見つかりません3。

mysqldbのバイナリが存在するリポジトリはありますか? WindowsのPython 3でMySQLに接続するにはどうすればよいですか?

142
panofish

現在、mysqlでPython 3を使用するためのいくつかのオプションがあります。

https://pypi.python.org/pypi/mysql-connector-python

  • オラクルが公式にサポート
  • ピュアパイソン
  • 少し遅い
  • MySQLdbと互換性がない

https://pypi.python.org/pypi/pymysql

  • ピュアパイソン
  • Mysql-connectorより高速
  • pymysql.install_as_MySQLdb()を呼び出した後、MySQLdbとほぼ完全に互換性があります。

https://pypi.python.org/pypi/cymysql

  • オプションのCスピードアップを使用したpymysqlのフォーク

https://pypi.python.org/pypi/mysqlclient

  • Djangoの推奨ライブラリ。
  • 元のMySQLdbの友好的なフォーク、いつか元に戻すことを望んでいます
  • Cベースであるため、最速の実装です。
  • フォークであるため、MySQLdbとの互換性が最も高い
  • DebianおよびUbuntuは、python-mysqldbおよびpython3-mysqldbパッケージの両方を提供するために使用します。

ここのベンチマーク: https://github.com/methane/mysql-driver-benchmarks

249
Collin Anderson

おそらくpymysql -Pure Python MySQL clientを代わりに使用する必要があります。
Python 3.xで動作し、依存関係はありません。

この純粋なPython MySQLクライアントは、バイナリクライアント/サーバープロトコルを介してサーバーと直接通信することにより、MySQLデータベースにDB-APIを提供します。

例:

import pymysql
conn = pymysql.connect(Host='127.0.0.1', unix_socket='/tmp/mysql.sock', user='root', passwd=None, db='mysql')
cur = conn.cursor()
cur.execute("SELECT Host,User FROM user")
for r in cur:
    print(r)
cur.close()
conn.close()
66
Oleh Prypin

私もpymysql(私のWin7 x64マシン、Python 3.3)を使ってみましたが、あまり運はありませんでした。 .tar.gzをダウンロードし、展開し、「setup.py install」を実行しましたが、すべて正常に見えました。データベースに接続しようとして、「KeyError [56]」が表示されるまで。どこにも文書化されていないエラー。

だから私はpymysqlをあきらめ、 Oracle MySQLコネクタ に決めました。

セットアップパッケージとして提供され、そのまま使用できます。また、きちんと文書化されているようです。

7
Bogd

最初にMySQLdbを使用する場合は、Windowsのcmdを入力して、PCにpymysqlをインストールする必要があります

    pip install pymysql

次に、python Shellに入力します

    import pymysql
    pymysql.install_as_MySQLdb()
    import MySQLdb
    db = MySQLdb.connect("localhost" , "root" , "password")

これにより、接続が確立されます。

6
Dimple

テストされていませんが、いくつかのバイナリが利用可能です:

非公式のWindowsバイナリ

5
casevh

PyMySQLは、MySQLDbのようなインターフェイスも提供します。初期化で試すことができます:

import pymysql
pymysql.install_as_MySQLdb()

また、python3用のgithubにmysql-pythonのポートがあります。

https://github.com/davispuh/MySQL-for-Python-

4
sagarchalise

概要

MysqlclientPython 3 +で問題なく動作するため、最適な代替(IMHO)です。期待どおりconventions(mysqlコネクタとは異なり)、オブジェクト名mysqldbを使用します。これにより、既存のソフトウェアとPython 3ビルドのDjangoによって使用されます

Mysqldbのバイナリが存在するリポジトリはありますか?

はい。mysqlclientを使用すると、mysqldb関数を使用できます。ただし、これはmysqldbによる直接ポートではなく、mysqlclientによるビルドであることを忘れないでください

Windows上のPython 3でMySQLに接続するにはどうすればよいですか?

pip install mysqlclient

#!/Python36/python
#Please change above path to suit your platform.  Am running it on Windows
import MySQLdb
db = MySQLdb.connect(user="my-username",passwd="my-password",Host="localhost",db="my-databasename")
cursor = db.cursor()
cursor.execute("SELECT * from my-table-name")
data=cursor.fetchall()
for row in data :
    print (row)
db.close()

Python 3のmysqldbが見つかりません。

mysqldbはまだ移植されていません

3
Rahul

Oracle/MySQLは、公式の純粋なPython DBAPIドライバーを提供します。 http://dev.mysql.com/downloads/connector/python/

Python 3.3で使用しましたが、うまく機能することがわかりました。 SQLAlchemyでも動作します。

この質問も参照してください。 Python 3列車に乗るのはまだ早いですか?

2
codeape

私のMac OS Maverickでは、これを試してください:

その後、python3インタープリターに入力して、次のように入力します。

  1. pymysqlをインポート。エラーがなければ、インストールは問題ありません。検証のために、次のフォームでmysqlに接続するスクリプトを作成します。

  2. #MySQL接続インポート用の単純なスクリプトpymysql db = pymysql.connect(Host = "localhost"、user = "root"、passwd = "* "、db =" biblioteca ")#もちろん、これは私のdbの情報です#接続を閉じるdb.close()*

名前(たとえば、「con.py」)を付けて、デスクトップに保存します。ターミナルで「cd desktop」と入力し、$ python con.pyエラーがなければ、MySQLサーバーに接続しています。がんばろう!

1
duke2909

これは私の最初の質問に完全に答えているわけではありませんが、私がしたこととその理由をみんなに知らせることが重要だと思います。

一般にWeb上の2.7の例とモジュールが普及しているため、python 3ではなくpython 2.7を使用し続けることにしました。

Python 2.7でmysqldbとmysql.connectorの両方を使用してMySQLに接続します。両方とも素晴らしいし、うまく機能します。しかし、最終的にはmysql.connectorの方が優れていると思います。

0
panofish

これはPython 3.7をMysqlで操作する方法の簡単なチュートリアルです
質問に対する回答を得たすべての人に感謝します。
-これがいつか誰かの助けになることを願っています。
--------------------------------------------- -------
私のシステム:
Windowsバージョン:Pro 64ビット

要件..これらを最初にダウンロードしてインストールしてください...
1。ダウンロードXampp ..
https://www.apachefriends.org/download.html
2。 Pythonをダウンロード
https://www.python.org/downloads/windows/

--------------
//方法
--------------
インストールが完了したら、最初にxamppをインストールします-Pythonをインストールします3.7。
両方のインストールが完了したら、Windowsシステムを再起動します。
ここでxamppを起動し、コントロールパネルから-mysqlサーバーを起動します。
CMDを開き、端末タイプでバージョンを確認します

c:\>cd c:\xampp\mysql\bin

c:\xampp\mysql\bin>mysql -h localhost -v
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.21-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

これはMYSQLバージョンを確認するためです

c:\xampp\mysql\bin>python
Python 3.7.0b3 (v3.7.0b3:4e7efa9c6f, Mar 29 2018, 18:42:04) [MSC v.1913 64 bit (AMD64)] on win32

これは、Pythonバージョンを確認するためです
両方が確認されたので、次のコマンドをCMDに入力してください...

c:\xampp\mysql\bin>pip install pymysql

Pymysqlのインストールが完了した後。
「testconn.py」という名前の新しいファイルをデスクトップ上に作成し、すぐにアクセスできるようにします。
崇高または別のテキストエディターでこのファイルを開き、これを配置します。
データベースを反映するように設定を変更することを忘れないでください。

#!/usr/bin/python
import pymysql
pymysql.install_as_MySQLdb() 

import MySQLdb
db = MySQLdb.connect(user="yourusernamehere",passwd="yourpasswordhere",Host="yourhosthere",db="yourdatabasehere")
cursor = db.cursor()
cursor.execute("SELECT * from yourmysqltablehere")
data=cursor.fetchall()
for row in data :
    print (row)
db.close()

今あなたのCMDで-タイプ

c:\Desktop>testconn.py

これで... pythonスクリプトからmysqlに完全に接続されました...
楽しい...

0
Kybrd

Raspberry Piでpython3を使用してcymysqlを使用しています。単に次の方法でインストールします。Sudo pip3 install cython Sudo pip3 install cymysql

これまでのところ、それは魅力のように機能し、MySQLdbに非常に似ています

0
Jaco

CyMySQL https://github.com/nakagami/CyMySQL

Windows 7にpipをインストールしました。python 3.3でcymysqlをpipインストールします。

(cythonは必要ありません)素早く痛みがありません

0
Lazik