Skip to Content
Essential SQLAlchemy, 2nd Edition
book

Essential SQLAlchemy, 2nd Edition

by Jason Myers, Rick Copeland
May 2025
Intermediate to advanced
208 pages
2h 55m
Japanese
O'Reilly Media, Inc.
Content preview from Essential SQLAlchemy, 2nd Edition

SQLAlchemy入門

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

SQLAlchemyは様々なデータベースとやりとりするためのライブラリだ。 通常の Python のクラスや文のような感覚でデータモデルやクエリを作成することができる。 Mike Bayerによって2005年に作成されたSQLAlchemyは、大小さまざまな企業で使われており、Pythonでリレーショナルデータベースを扱うデファクトな方法として多くの人に考えられている。

Postgres、MySQL、SQLite、Oracleなど、一般的なデータベースに接続できる。また、他のリレーショナルデータベースのサポートを追加する方法も提供している。 PostgreSQLのカスタム方言を使用するAmazon Redshiftは、コミュニティによって追加されたデータベースサポートの素晴らしい例である。

この章では、なぜ SQLAlchemy が必要なのか、SQLAlchemy の2つの主要なモードについて学び、 データベースに接続する。

なぜSQLAlchemyを使うのか?

SQLAlchemy を使う最大の理由は、あなたのコードを、基礎となるデータベースとそれに 関連する SQL の特殊性から抽象化することだ。 SQLAlchemy は強力な共通ステートメントと型を活用し、SQL 文がそれぞれのデータベー スタイプとベンダに対して効率的かつ適切に作られるようにします。これにより、Oracle から PostgreSQL へ、あるいはアプリケーションデータベースからデータ ウェアハウスへのロジックの移行が容易になる。また、データベースに送信される前に、データベース入力がサニタイズされ、適切にエスケープされることを保証するのにも役立つ。これにより、SQLインジェクション攻撃のような一般的な問題を防ぐことができる。

SQLAlchemy はまた、2つの主要な利用モードを提供することで、多くの柔軟性を提供している:SQL 式言語(一般に Core と呼ばれる)と ORM である。これらのモードは、あなたの好みやアプリケーションのニーズに応じて、別々に使うことも、一緒に使うこともできます。

SQLAlchemy コアと SQL 式言語

SQL式言語は、一般的なSQL文や式を表現するPython的な方法であり、一般的なSQL言語から軽度の抽象化を行っているに過ぎない。実際のデータベーススキーマに焦点を当てている。しかし、多くのバックエンドデータベースで一貫した言語を提供するように標準化されている。SQL 式言語は SQLAlchemy ORM の基盤としても機能する。

ORM

SQLAlchemy ORM は、あなたが他の言語で出会ったことのある多くのオブジェクトリレーショナルマッパ (ORM)に似ている。アプリケーションのドメインモデル に焦点を当て、オブジェクトの状態を維持するために Unit of Work パターンを活用する。ORMとSQL表現言語を組み合わせて使用することで、非常に強力なアプリケーションを作成することができる。ORMは、Ruby on Railsで発見されたものなど、他の多くのORMで使われているアクティブレコードシステムに似た宣言型システムを活用している。

ORMは非常に便利だが、クラスがリレーショナルになる方法と、基礎となるデータベースのリレーションがどのように機能するかには違いがあることを覚えておく必要がある。これが実装にどのような影響を与えるかについては、 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Essential SQLAlchemy, 2nd Edition

Essential SQLAlchemy, 2nd Edition

Jason Myers, Rick Copeland
High Performance Python, 3rd Edition

High Performance Python, 3rd Edition

Micha Gorelick, Ian Ozsvald
Python in a Nutshell, 4th Edition

Python in a Nutshell, 4th Edition

Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire

Publisher Resources

ISBN: 9798341649866