CATEGORY DB操作

SQLAlchemy入門 ORM その4 リレーションとJOIN

前回、テーブル間のリレーションを考慮しないJOINについて学習しました。今回はテーブルクラスにリレーションを定義する方法とそれらが考慮されたJOINについて学習しましょう。 relationshipとjoin あるテーブ…

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入門

sqlite3はMySQL等のRDBMSと比較すると機能は限定的ですが、圧倒的なスピードが特徴的で、大量データに対する分析で活用することもできます。pythonには標準ライブラリで軽量DBのsqlite3を使用するモジュ…