ホームページ > バックエンド開発 > Python チュートリアル > Python で MySQL データベース接続を確立するにはどうすればよいですか?

Python で MySQL データベース接続を確立するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-11 02:30:14
オリジナル
907 人が閲覧しました

How Can I Establish a MySQL Database Connection in Python?

Python での MySQL 接続の確立

環境のセットアップ

Python を使用して MySQL データベースに接続するには、 MySQLコネクタ。 Python にはデフォルトで SQLite ドライバーが含まれていますが、MySQL には追加のパッケージが必要です。推奨されるコネクタである MySQLdb は、簡単なインストール プロセスを提供します。

Windows ユーザーの場合は、MySQLdb の実行可能ファイル (.exe) が利用可能です。 Linux ユーザーは、パッケージ マネージャー (apt-get、yum、または dnf など) を使用してパッケージを取得できます。 Mac ユーザーは、MySQLdb のインストールに Macport を利用できます。

データベースへの接続

コネクタがインストールされたら、データベースに接続する準備が整います。 MySQLdb.connect() 関数を使用して、必要な認証情報 (ホスト名 (通常は「localhost」)、ユーザー名、パスワード、データベース名) を指定します。

例を次に示します。

import MySQLdb

db = MySQLdb.connect(host="localhost", user="john", passwd="mypassword", db="mydatabase")
ログイン後にコピー

これ指定された認証情報を使用して「mydatabase」データベースへの接続を確立します。

Database

接続が確立されたら、クエリを実行するための Cursor オブジェクトを作成します。このオブジェクトにより、データの取得や操作などのデータベース操作が可能になります。

たとえば、「customers」という名前のテーブルからすべての行を取得するには、次のコマンドを実行します。

cur = db.cursor()
cur.execute("SELECT * FROM customers")
ログイン後にコピー

結果は次のようになります。 fetchall() メソッドを使用して反復処理されます。

for row in cur.fetchall():
    # Iterate over each row's data
ログイン後にコピー

上級使用法

より複雑なシナリオの場合は、SQLAlchemy や peewee などのオブジェクト リレーショナル マッピング (ORM) ツールの使用を検討してください。これらの ORM フレームワークは、手動の SQL コーディングの必要性を抽象化し、データベース対話に対するオブジェクト指向のアプローチを提供します。

ここでは、peeweee を使用してモデルを作成し、データを操作する簡単な例を示します:

from peewee import *

db = MySQLDatabase('mydb', user='john', passwd='mypassword')

class Person(Model):
    name = CharField()
    age = IntegerField()

    class Meta:
        database = db

person = Person(name="John Doe", age=30)
person.save()
ログイン後にコピー

これにより、「人物」モデルが作成され、データベースにレコードが追加され、オブジェクト指向インターフェイスを使用して情報が取得されます。

以上がPython で MySQL データベース接続を確立するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート