首頁 > 後端開發 > Python教學 > 巧用 Python SQLAlchemy,輕鬆征服關聯式資料庫世界

巧用 Python SQLAlchemy,輕鬆征服關聯式資料庫世界

王林
發布: 2024-02-25 08:01:02
轉載
439 人瀏覽過

巧用 Python SQLAlchemy,轻松征服关系数据库世界

python sqlAlchemy 是一個功能強大的物件關係映射工具函式庫,它允許開發人員使用Python 物件來操作關係資料庫。這使得開發人員可以輕鬆地創建、查詢和更新資料庫中的數據,而無需編寫複雜的 SQL 程式碼。

安裝 SQLAlchemy

要使用 SQLAlchemy,首先需要安裝它。可以使用 pip 指令來安裝:

from sqlalchemy import Column, Integer, String

class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True)
email = Column(String(120), unique=True)
登入後複製

在這個類別中,__tablename__ 屬性指定了資料庫中表格的名稱。 idnameemail 屬性分別是資料庫中的欄位。 id 是主鍵,且是自動遞增的。 nameemail字串類型的列,而且是唯一的。

建立資料庫引擎

要將 ORM 模型對應到資料庫,需要建立一個資料庫引擎。資料庫引擎是一個對象,它負責與資料庫進行互動。

例如,要建立一個連接到 SQLite 資料庫的資料庫引擎,可以編寫以下程式碼:

from sqlalchemy import create_engine

engine = create_engine("sqlite:///database.sqlite")
登入後複製

在這個程式碼中,"sqlite:///database.sqlite" 是資料庫的連接字串。

建立會話

要操作資料庫中的數據,需要建立一個會話。會話是一個對象,它代表了資料庫的一次互動。

例如,要建立一個會話,可以編寫以下程式碼:

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)
session = Session()
登入後複製

在這個程式碼中,Session 是一個會話類,它與 engine 綁定。 session 是一個會話對象,它可以使用add()delete()commit() 等方法來操作資料庫中的數據。

新增資料

要新增數據,可以使用 add() 方法。例如,要在 users 表中新增一條數據,可以編寫以下程式碼:

user = User(name="John Doe", email="johndoe@example.com")
session.add(user)
登入後複製

在這個程式碼中,user 是一個 User 對象,它包含了要新增的資料。 session.add(user)user 物件加入到會話中。

提交資料

要將資料提交到資料庫,可以使用 commit() 方法。例如,要提交數據,可以編寫以下程式碼:

session.commit()
登入後複製

在這個程式碼中,session.commit() 將會話中的資料提交到資料庫。

查詢資料

要查詢資料庫中的數據,可以使用 query() 方法。例如,要查詢所有 User 對象,可以編寫以下程式碼:

users = session.query(User).all()
登入後複製

在這個程式碼中,session.query(User).all() 查詢所有 User 對象,並將它們儲存在 users 變數中。

更新資料

要更新資料庫中的數據,可以使用 update() 方法。例如,要更新 John Doe 的電子郵件地址,可以編寫以下程式碼:

session.query(User).filter_by(name="John Doe").update({User.email: "johndoe@example.com"})
登入後複製

在這個程式碼中,session.query(User).filter_by(name="John Doe") 查詢名為John Doe 的用戶,並將電子郵件地址更新為johndoe@example.com

刪除資料

要刪除資料庫中的數據,可以使用 delete() 方法。例如,要刪除名為 John Doe 的用戶,可以編寫以下程式碼:

session.query(User).filter_by(name="John Doe").delete()
登入後複製

在這個程式碼中,session.query(User).filter_by(name="John Doe") 查詢名為 John Doe 的用戶,並將它們刪除。

總結

SQLAlchemy 是一個功能強大的 ORM 工具庫,它可以幫助開發人員輕鬆地操作關聯式資料庫。使用 SQLAlchemy,開發人員可以快速地建立、查詢和更新資料庫中的數據,而無需編寫複雜的 SQL 程式碼。

以上是巧用 Python SQLAlchemy,輕鬆征服關聯式資料庫世界的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:lsjlt.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板