Hello World(SQLAlchemy Core)

此示例顯示如何使用 SQLAlchemy Core 建立表,插入資料以及從資料庫中進行選擇。有關資訊,請參閱 SQLAlchemy ORM,請參見此處

首先,我們需要連線到我們的資料庫。

from sqlalchemy import create_engine

engine = create_engine('sqlite://')

引擎是任何 SQLAlchemy 應用程式的起點。它是實際資料庫及其 DBAPI 的基礎,通過連線池和方言傳遞給 SQLAlchemy 應用程式,該方言描述瞭如何與特定型別的資料庫/ DBAPI 組合進行通訊。引擎引用方言和連線池,它們一起解釋 DBAPI 的模組功能以及資料庫的行為。

建立引擎後,我們需要定義和建立表

from sqlalchemy import Column, Integer, Text, MetaData, Table

metadata = MetaData()
messages = Table(
    'messages', metadata,
    Column('id', Integer, primary_key=True),
    Column('message', Text),
)

messages.create(bind=engine)

要進一步解釋 MetaData 物件,請參閱以下文件:

Table 物件及其關聯子物件的集合稱為資料庫後設資料

我們使用 Table 構造在名為 MetaData 的目錄中定義所有表,該構造類似於常規 SQL CREATE TABLE 語句。

現在我們已經定義和建立了表,我們可以開始插入資料了! 插入涉及兩個步驟。編寫插入構造,並執行最終查詢。

insert_message = messages.insert().values(message='Hello, World!')
engine.execute(insert_message)

現在我們有了資料,我們可以使用 select 函式來查詢資料。列物件可用作 Table 物件上 c 屬性的命名屬性,從而可以直接選擇列。執行此 select 語句將返回一個 ResultProxy 物件,該物件可以訪問一些方法, fetchone()fetchall()fetchmany() ,所有這些方法都返回在 select 語句中查詢的多個資料庫行。

from sqlalchemy import select
stmt = select([messages.c.message]) 
message, = engine.execute(stmt).fetchone()
print(message)

Hello, World!

就是這樣! 有關更多示例和資訊,請參閱 SQLAlchemy SQL 表示式教程