- SQLAlchemy 教程
- SQLAlchemy - 首頁
- SQLAlchemy - 簡介
- SQLAlchemy Core
- 表示式語言
- 連線資料庫
- 建立表
- SQL 表示式
- 執行表示式
- 選擇行
- 使用文字SQL
- 使用別名
- 使用 UPDATE 表示式
- 使用 DELETE 表示式
- 使用多個表
- 使用多表更新
- 引數有序更新
- 多表刪除
- 使用連線
- 使用連線詞
- 使用函式
- 使用集合操作
- SQLAlchemy ORM
- 宣告對映
- 建立會話
- 新增物件
- 使用查詢
- 更新物件
- 應用過濾器
- 過濾器運算子
- 返回列表和標量
- 文字SQL
- 構建關係
- 處理相關物件
- 處理連線
- 常見關係運算符
- 急切載入
- 刪除相關物件
- 多對多關係
- 方言
- SQLAlchemy 有用資源
- SQLAlchemy - 快速指南
- SQLAlchemy - 有用資源
- SQLAlchemy - 討論
SQLAlchemy Core - 連線資料庫
在上一章中,我們討論了 SQLAlchemy 中的表示式語言。現在讓我們繼續討論連線資料庫所涉及的步驟。
Engine 類將連線池和方言組合在一起,以提供資料庫連線和行為的來源。Engine 類的物件使用create_engine()函式例項化。
create_engine() 函式將資料庫作為引數。無需在任何地方定義資料庫。標準呼叫表單必須將 URL 作為第一個位置引數傳送,通常是一個字串,指示資料庫方言和連線引數。使用下面給出的程式碼,我們可以建立一個數據庫。
>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///college.db', echo = True)
對於MySQL 資料庫,使用以下命令:
engine = create_engine("mysql://user:pwd@localhost/college",echo = True)
為了明確指定用於連線的DB-API,URL 字串採用以下形式:
dialect[+driver]://user:password@host/dbname
例如,如果您使用PyMySQL 驅動程式與 MySQL,請使用以下命令:
mysql+pymysql://<username>:<password>@<host>/<dbname>
echo 標誌是設定 SQLAlchemy 日誌記錄的快捷方式,這是透過 Python 的標準日誌記錄模組完成的。在後續章節中,我們將學習所有生成的 SQL。要隱藏詳細輸出,請將 echo 屬性設定為None。create_engine() 函式的其他引數可能是特定於方言的。
create_engine() 函式返回一個Engine 物件。Engine 類的一些重要方法是:
| 序號 | 方法和描述 |
|---|---|
| 1 | connect() 返回連線物件 |
| 2 | execute() 執行 SQL 語句構造 |
| 3 | begin() 返回一個上下文管理器,提供一個已建立事務的連線。操作成功後,提交事務,否則回滾事務 |
| 4 | dispose() 釋放 Engine 使用的連線池 |
| 5 | driver() Engine 使用的方言的驅動程式名稱 |
| 6 | table_names() 返回資料庫中所有表名的列表 |
| 7 | transaction() 在事務邊界內執行給定函式 |
廣告