共計(jì) 1386 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
在 Python 中處理數(shù)據(jù)庫有多種方法,其中最常見和流行的是使用 SQLAlchemy 庫。SQLAlchemy 是一個(gè)全功能的數(shù)據(jù)庫工具包,可以與大多數(shù)數(shù)據(jù)庫引擎兼容,并提供了 ORM(對(duì)象 - 關(guān)系映射)功能,使得在 Python 中操作數(shù)據(jù)庫更加方便和靈活。
以下是在 Python 中處理數(shù)據(jù)庫的一般步驟:
- 安裝 SQLAlchemy 庫:首先需要安裝 SQLAlchemy 庫,可以使用 pip 命令進(jìn)行安裝:
pip install sqlalchemy
- 連接數(shù)據(jù)庫:使用 SQLAlchemy 的 create_engine() 函數(shù)創(chuàng)建一個(gè)數(shù)據(jù)庫連接引擎對(duì)象,指定數(shù)據(jù)庫的連接信息(如數(shù)據(jù)庫類型、用戶名、密碼、主機(jī)地址、端口等)。
from sqlalchemy import create_engine
engine = create_engine(' 數(shù)據(jù)庫連接字符串 ')
- 創(chuàng)建數(shù)據(jù)表模型:定義數(shù)據(jù)表模型類,可以使用 SQLAlchemy 提供的 Base 類作為基類,并定義數(shù)據(jù)表的列屬性和關(guān)系屬性。
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
- 創(chuàng)建 Session 對(duì)象:使用 SQLAlchemy 的 sessionmaker() 函數(shù)創(chuàng)建一個(gè) Session 類,并使用數(shù)據(jù)庫連接引擎對(duì)象創(chuàng)建一個(gè) Session 實(shí)例,用于執(zhí)行數(shù)據(jù)庫操作。
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
- 數(shù)據(jù)庫操作:使用 Session 對(duì)象執(zhí)行數(shù)據(jù)庫操作,如添加數(shù)據(jù)、查詢數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)等。
# 添加數(shù)據(jù)
user = User(name='Alice', age=25)
session.add(user)
session.commit()
# 查詢數(shù)據(jù)
users = session.query(User).all()
for user in users:
print(user.name, user.age)
# 更新數(shù)據(jù)
user = session.query(User).filter_by(name='Alice').first()
user.age = 26
session.commit()
# 刪除數(shù)據(jù)
user = session.query(User).filter_by(name='Alice').first()
session.delete(user)
session.commit()
- 關(guān)閉數(shù)據(jù)庫連接:最后記得關(guān)閉 Session 對(duì)象和數(shù)據(jù)庫連接引擎對(duì)象。
session.close()
engine.dispose()
以上就是在 Python 中使用 SQLAlchemy 庫處理數(shù)據(jù)庫的一般步驟,可以根據(jù)實(shí)際需求進(jìn)行相應(yīng)的調(diào)整和擴(kuò)展。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完
發(fā)表至: Python
2024-05-15