python中orm框架的用法是什么

小億
87
2024-01-12 21:24:29

在Python中,ORM(對(duì)象關(guān)系映射)框架用于將數(shù)據(jù)庫(kù)中的數(shù)據(jù)和Python對(duì)象進(jìn)行映射,使程序員可以使用面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(kù),而不必直接編寫SQL語(yǔ)句。

常見(jiàn)的Python ORM框架包括:SQLAlchemy、Django ORM、Peewee等。

使用ORM框架的一般步驟如下:

  1. 定義模型類:通過(guò)定義Python類的方式,將數(shù)據(jù)庫(kù)中的表映射成為類,其中類的屬性對(duì)應(yīng)表的字段,類的方法對(duì)應(yīng)表的操作(增刪改查)。

  2. 建立數(shù)據(jù)庫(kù)連接:使用ORM框架提供的API,建立與數(shù)據(jù)庫(kù)的連接。

  3. 創(chuàng)建表結(jié)構(gòu):通過(guò)調(diào)用ORM框架提供的方法,根據(jù)模型類創(chuàng)建對(duì)應(yīng)的表結(jié)構(gòu)。

  4. 增刪改查操作:通過(guò)調(diào)用模型類的方法,進(jìn)行數(shù)據(jù)庫(kù)的增刪改查操作。例如,創(chuàng)建對(duì)象并保存到數(shù)據(jù)庫(kù)中、更新對(duì)象的屬性并保存、根據(jù)條件查詢數(shù)據(jù)庫(kù)等。

  5. 關(guān)閉數(shù)據(jù)庫(kù)連接:在程序結(jié)束時(shí),關(guān)閉與數(shù)據(jù)庫(kù)的連接。

以下是一個(gè)使用SQLAlchemy作為ORM框架的示例:

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

# 創(chuàng)建引擎
engine = create_engine('數(shù)據(jù)庫(kù)連接字符串')

# 創(chuàng)建會(huì)話
Session = sessionmaker(bind=engine)
session = Session()

# 創(chuàng)建基類
Base = declarative_base()

# 定義模型類
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

# 創(chuàng)建表結(jié)構(gòu)
Base.metadata.create_all(engine)

# 增刪改查操作
user = User(name='Alice', age=20)
session.add(user)
session.commit()

user.age = 22
session.commit()

users = session.query(User).filter(User.age > 18).all()
for user in users:
    print(user.name, user.age)

# 關(guān)閉會(huì)話
session.close()

以上示例中,首先創(chuàng)建了數(shù)據(jù)庫(kù)引擎和會(huì)話,并定義了一個(gè)模型類User,然后根據(jù)模型類創(chuàng)建表結(jié)構(gòu),接著進(jìn)行了增刪改查操作。最后關(guān)閉了會(huì)話。

0