ウィンドウズマックソフトウェア設定セキュリティAndroid生産性リナックスパフォーマンスApple設定 すべて

Pythonを使用してデータベースに接続する方法

編集済み 1 日前 によって ExtremeHow 編集チーム

パイソンデータベースSQLマイエスキューエルPostgreSQLSQLiteORMデータアクセスウィンドウズマックリナックスデータベースドライバ

Pythonを使用してデータベースに接続する方法

翻訳が更新されました 1 日前

Pythonは多用途の言語で、そのシンプルさと読みやすさが人気です。その多くの機能の1つに、さまざまなデータベースへの接続と操作があります。特に大規模なデータセットを扱う場合や効率的に情報を保存する必要がある場合、データベースの操作方法を知ることは重要です。このガイドでは、Pythonを使用してデータベースに接続するプロセスを説明し、開始するために必要な概念をカバーします。

データベースを理解する

データベースは、データを整理して収集したものです。データを効率的に保存、取得、管理、および操作したい場合に、データベースは重要です。データベースには主に2つのタイプがあります:

Pythonでデータベースを扱う際には、データベースと接続し、やり取りするのを助ける特別なライブラリーを使用することがよくあります。これらのライブラリーを使用してさまざまなデータベースに接続する方法を探ってみましょう。

リレーショナルデータベースへの接続

リレーショナルデータベースに接続するために、Pythonはいくつかのライブラリーを提供しています:

SQLiteへの接続

SQLiteは軽量のデータベースとして最適で、通常はシングルユーザーアプリケーションや小規模システムで使用されます。PythonはSQLiteをサポートしているため、追加のインストールは不要です。PythonでSQLiteデータベースに接続する方法は次のとおりです:

import sqlite3 # SQLiteデータベースに接続する # データベースが存在しない場合は作成されます connection = sqlite3.connect('example.db') # 接続を使用してカーソルオブジェクトを作成します cursor = connection.cursor() # 簡単なSQLクエリを実行します cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)") # 変更をコミットします connection.commit() # 終了後に接続を閉じます connection.close()

上記の例では、'example.db'という名前のSQLiteデータベースファイルに接続を作成します。次に、'id'と'name'の2つのカラムを持つ'users'という名前のテーブルを作成します。終了したら必ず変更をコミットし、データベース接続を閉じてください。

MySQLへの接続

MySQLデータベースに接続するには、mysql-connector-pythonライブラリーを使用できます。使用する前に、pipを介してインストールする必要があります:

pip install mysql-connector-python

次に、MySQLデータベースに接続するためのコードは次のとおりです:

import mysql.connector # MySQLデータベースに接続します connection = mysql.connector.connect( host="localhost", # ホストを置き換えてください user="username", # ユーザー名を置き換えてください password="password", # パスワードを置き換えてください database="example_db" # データベース名を置き換えてください ) cursor = connection.cursor() # 簡単なSQLクエリを実行します cursor.execute("SHOW TABLES") # 結果を取得します tables = cursor.fetchall() for table in tables: print(table) # 接続を閉じます connection.close()

この例では、localhostusernamepassword、およびexample_dbをサーバーの詳細とデータベースの資格情報に置き換えてください。このコードはデータベースに接続し、テーブルのリストを取得します。

PostgreSQLへの接続

PostgreSQLデータベースに接続するには、psycopg2ライブラリーを使用します。まだpipを介してインストールしていない場合は、インストールしてください:

pip install psycopg2

psycopg2を使用してPostgreSQLデータベースに接続する例は次のとおりです:

import psycopg2 # PostgreSQLデータベースに接続します connection = psycopg2.connect( host="localhost", # ホストを置き換えてください user="username", # ユーザー名を置き換えてください password="password",# パスワードを置き換えてください database="example_db" # データベース名を置き換えてください ) cursor = connection.cursor() # 簡単なSQLクエリを実行します cursor.execute("SELECT * FROM information_schema.tables WHERE table_schema = 'public'") # 結果を取得します tables = cursor.fetchall() for table in tables: print(table) # 接続を閉じます connection.close()

hostusernamepassword、およびexample_dbを上記の接続の詳細に置き換えてください。

非リレーショナルデータベースへの接続

非リレーショナルデータベースは、一般にNoSQLデータベースと呼ばれ、従来のテーブル形式でデータを保存せず、大量のデータの柔軟性、スケーラビリティ、および高速処理のために設計されています。Pythonとシームレスに動作する人気のNoSQLデータベースには、MongoDBやRedisがあります。

MongoDBへの接続

MongoDBは、ドキュメント指向のNoSQLデータベースで、大量のデータを保存し、Pythonと簡単に統合できます。そのためのpymongoライブラリーを使用できます。このライブラリーはpipでインストールできます:

pip install pymongo

pymongoを使用してMongoDBデータベースに接続する方法は次のとおりです:

from pymongo import MongoClient # MongoDBサーバーに接続 client = MongoClient('localhost', 27017) # データベースにアクセス db = client['example_db'] # コレクションにアクセス collection = db['users'] # 操作を実行 collection.insert_one({"name": "Alice", "age": 28}) # データをクエリ users = collection.find() for user in users: print(user) # 接続を閉じます client.close()

このコードでは、ローカルホストのMongoDBサーバーにポート27017で接続します。'example_db'データベースにアクセスし、'users'コレクションと操作します。

Redisへの接続

Redisは、データベース、キャッシュ、およびメッセージブローカーとして使用されるインメモリデータ構造ストアです。redis-pyライブラリーは、PythonからRedisとやりとりする簡単な方法を提供します。pipでインストールしてください:

pip install redis

Pythonを使用してRedisに接続する例は次のとおりです:

import redis # Redisサーバーに接続 r = redis.StrictRedis(host='localhost', port=6379, db=0) # キーと値のペアを設定 r.set('name', 'Alice') # 値を取得 name = r.get('name') print(name.decode('utf-8')) # 'Alice'を表示

上記の例では、ローカルホストのRedisサーバーに接続し、キーと値のペアを設定して、Redisとの基本的な対話を示します。

データベース接続のベストプラクティス

データベースを操作する際には、効率的で安全なやり取りを保証するためにいくつかのベストプラクティスを心に留めておくことが重要です:

結論

接続とデータベースとのやり取りは、Pythonでは比較的簡単です。SQLite、MySQL、PostgreSQLなどのリレーショナルデータベースや、MongoDBやRedisなどの非リレーショナルデータベースを扱う場合でも、Pythonには必要なツールが用意されています。基本を理解し、ベストプラクティスを実装することで、複雑なデータ操作を効果的に処理できる堅牢なアプリケーションを構築できます。

使用しているライブラリーは常に進化しているので、常に最新情報を追うようにし、それぞれのライブラリーの詳細なドキュメントを探索して、特定のユースケースに有益な高度な機能やカスタマイズを見つけ出してください。

記事の内容に誤りがある場合, あなたは


コメント