前回、テーブル間のリレーションを考慮しないJOINについて学習しました。今回はテーブルクラスにリレーションを定義する方法とそれらが考慮されたJOINについて学習しましょう。 relationshipとjoin あるテーブ...
CATEGORY DB操作
SQLAlchemy入門 ORM その3 JOIN
このページではSQLAlchemyのORM上でJOINを行うクエリの実行方法について学習します。 リレーションがない場合のJOIN JOINの方法はいくつかあるのですが、まずはテーブル間のリレーションを無視した一番単純な...
SQLAlchemy入門 ORM その2 さまざまなクエリ
前回、ORMで簡単なCRUDの記述方法について学習しました。今回はもう少し複雑なクエリの記述方法について学習しましょう。 さまざまなクエリ session.queryを使用してクエリオブジェクト(sqlalchemy.o...
SQLAlchemy入門 ORM その1
SQLAlchemyが提供するORM機能を使用すると、DBのデータをPythonオブジェクトとみなして扱うことができるようになります。 テーブルクラスの定義 テーブルクラスの定義 大抵のORMではテーブルに対応するクラス...
SQLAlchemy入門 SQL Expression Language
SQL Expression Language SQLAlchemyにはプログラム言語とSQLを分離するために独自のクエリライクな記法が用意されており、これをSQL Expression Languageと呼びます。(長...
SQLAlchemy入門 メタデータによるスキーマの定義
メタデータ(スキーマ定義言語、SDL) メタデータとは、テーブルのスキーマをPythonのコード上で定義する方法です。DBMSに依存しない方法でスキーマを記述することができるのが大きなメリットといえるでしょう。 スキーマ...
SQLAlchemy入門 接続とSQL実行
engine apiと接続 SQLAlchemyが提供するengineとは、接続を始めとしたSQLAlchemyの機能を使用するための起点となるオブジェクトです。 engineだけでも最低限のDB操作、つまりデータベース...
SQLAlchemy入門 SQLAlchemyとは
SQLAlchemyとは SQLAlchemyとは、Pythonの中では最もよく利用されているORMの一つです。ORM以外にも以下の機能を持ちます。 1 データベースへの接続、SQLの実行 2 メタデータ 3 SQL E...
mysqlclient Python3でMySQLに接続する
今日はPython3でMySQLに接続する方法についてです。 ドライバーについて Python3でMySQLに接続するドライバーは決め手がない、と言われていますが、当サイトではmysqlclientをおすすめします。これ...
SQLite3入門
SQLiteはデータベースの一種で簡単に扱うことができます。MySQL等のRDBMSと比較すると機能は限定的ですが、圧倒的なスピードが特徴的で、大量データに対する分析で活用することもできます。Pythonには標準ライブラ...