PythonでMySQLデータベースに接続するにはどうすればいいですか? 質問する

PythonでMySQLデータベースに接続するにはどうすればいいですか? 質問する

Python プログラムを使用して MySQL データベースに接続するにはどうすればよいですか?

ベストアンサー1

3 つのステップで Python 2 を使って MYSQL に接続する

1 - 設定

何かをする前にMySQLドライバをインストールする必要があります。PHPとは異なり、PythonではデフォルトでSQLiteドライバのみがインストールされます。そのために最もよく使用されるパッケージはMySQLデータベースただし、easy_install を使用してインストールするのは困難です。MySQLdb は Python 2 のみをサポートしていることに注意してください。

Windowsユーザーの場合は、MySQLdb の exe

Linux の場合、これはカジュアル パッケージ (python-mysqldb) です。(ダウンロードするには、コマンド ラインでsudo apt-get install python-mysqldb(Debian ベースのディストリビューションの場合)、yum install MySQL-python(rpm ベースの場合)、またはdnf install python-mysql(最新の fedora ディストリビューションの場合) を使用できます。)

Macの場合は、Macportを使用してMySQLdbをインストールする

2 - 使用方法

インストール後、再起動してください。これは必須ではありませんが、何か問題が発生した場合にこの投稿の他の 3 つまたは 4 つの質問に答えることができなくなります。そのため、再起動してください。

その後は他のパッケージを使用する場合と同じです。

#!/usr/bin/python
import MySQLdb

db = MySQLdb.connect(host="localhost",    # your host, usually localhost
                     user="john",         # your username
                     passwd="megajonhy",  # your password
                     db="jonhydb")        # name of the data base

# you must create a Cursor object. It will let
#  you execute all the queries you need
cur = db.cursor()

# Use all the SQL you like
cur.execute("SELECT * FROM YOUR_TABLE_NAME")

# print all the first cell of all the rows
for row in cur.fetchall():
    print row[0]

db.close()

もちろん、可能性とオプションは無数にあります。これは非常に基本的な例です。ドキュメントを確認する必要があります。良い出発点

3 - より高度な使い方

仕組みがわかったら、ORM手動でSQLを記述するのを避け、テーブルをPythonオブジェクトとして操作します。Pythonコミュニティで最も有名なORMはSQLアルケミー

ぜひ使ってみてください。あなたの生活はずっと楽になります。

私は最近、Python の世界でもう一つの宝石を発見しました。ピーウィーこれは非常に軽量な ORM で、セットアップして使用するのは本当に簡単で高速です。SQLAlchemy や Django のような大規模なツールを使用するのはやりすぎですが、小規模なプロジェクトやスタンドアロン アプリに最適です。

import peewee
from peewee import *

db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy')

class Book(peewee.Model):
    author = peewee.CharField()
    title = peewee.TextField()

    class Meta:
        database = db

Book.create_table()
book = Book(author="me", title='Peewee is cool')
book.save()
for book in Book.filter(author="me"):
    print book.title

この例はそのまま使用できます。peewee ( pip install peewee) 以外は何も必要ありません。

おすすめ記事