Sqlalchemy-core-using-multiple-tables
提供:Dev Guides
SQLAlchemyコア-複数のテーブルの使用
RDBMSの重要な機能の1つは、テーブル間の関係を確立することです。 SELECT、UPDATE、DELETEなどのSQL操作は、関連するテーブルで実行できます。 このセクションでは、SQLAlchemyを使用したこれらの操作について説明します。
この目的のために、SQLiteデータベース(college.db)に2つのテーブルが作成されます。 Studentsテーブルの構造は、前のセクションで示したものと同じです。一方、住所表には st_id 列があり、これは外部キー制約を使用して、students表の* id列にマップされます。
次のコードはcollege.dbに2つのテーブルを作成します-
上記のコードは、以下のように学生と住所のテーブルのCREATE TABLEクエリに変換されます-
次のスクリーンショットは、上記のコードを非常に明確に示しています-
これらのテーブルには、テーブルオブジェクトの* insert()メソッド*を実行することでデータが入力されます。 Studentsテーブルに5行を挿入するには、以下に示すコードを使用できます-
- 行*は、次のコードの助けを借りてアドレス表に追加されます-
アドレステーブルのst_id列は、studentsテーブルのid列を参照することに注意してください。 これで、このリレーションを使用して両方のテーブルからデータを取得できます。 アドレス表のst_idに対応するstudents表から name と lastname を取得します。
選択オブジェクトは、共通の関係にある2つのテーブルを結合する次のSQL式に効果的に変換されます-
これは、次のように両方のテーブルから対応するデータを抽出する出力を生成します-