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 表示式教程 。