SQLAlchemyCore-データベースへの接続

前の章では、SQLAlchemyの式言語について説明しました。次に、データベースへの接続に関連する手順に進みましょう。

エンジンクラスは接続します Pool and Dialect together データベースのソースを提供する connectivity and behavior。Engineクラスのオブジェクトは、create_engine() 関数。

create_engine()関数は、データベースを1つの引数として取ります。データベースをどこにでも定義する必要はありません。標準の呼び出しフォームでは、URLを最初の位置引数として送信する必要があります。通常は、データベースの方言と接続引数を示す文字列です。以下のコードを使用して、データベースを作成できます。

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///college.db', echo = True)

のために MySQL database、以下のコマンドを使用します-

engine = create_engine("mysql://user:pwd@localhost/college",echo = True)

具体的に言及する DB-API 接続に使用する、 URL string 次のような形を取ります-

dialect[+driver]://user:password@host/dbname

たとえば、使用している場合 PyMySQL driver with MySQL、次のコマンドを使用します-

mysql+pymysql://<username>:<password>@<host>/<dbname>

ザ・ echo flagはSQLAlchemyロギングを設定するためのショートカットであり、Pythonの標準ロギングモジュールを介して実行されます。以降の章では、生成されたすべてのSQLについて学習します。詳細出力を非表示にするには、echo属性をに設定します。None。create_engine()関数の他の引数は、方言固有の場合があります。

create_engine()関数は Engine object。Engineクラスのいくつかの重要なメソッドは次のとおりです。

シニア番号 方法と説明
1

connect()

接続オブジェクトを返します

2

execute()

SQLステートメントコンストラクトを実行します

3

begin()

トランザクションが確立された接続を配信するコンテキストマネージャーを返します。操作が成功すると、トランザクションがコミットされます。それ以外の場合は、ロールバックされます。

4

dispose()

エンジンによって使用される接続プールを破棄します

5

driver()

エンジンで使用されている方言のドライバー名

6

table_names()

データベースで使用可能なすべてのテーブル名のリストを返します

7

transaction()

トランザクション境界内で指定された関数を実行します