使用 Python 中的 ORM 框架来操作 SQLite 数据库

2023-04-04 00:00:00 数据库 操作 框架

在 Python 中,我们可以使用 SQLAlchemy 这个 ORM(Object Relational Mapper)框架来操作 SQLite 数据库。首先,确保已经安装了 SQLAlchemy 和相关的库:

pip install sqlalchemy

接下来,我们将创建一个简单的示例,使用 SQLAlchemy 操作 SQLite 数据库,以及创建一个简单的表结构和数据操作。

1、导入所需的库:

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

2、创建数据库连接引擎:

engine = create_engine('sqlite:///pidancode.db', echo=True)

这里,我们创建了一个名为 'pidancode.db' 的 SQLite 数据库文件。

3、定义一个映射到数据库表的类:

Base = declarative_base()

class Website(Base):
    __tablename__ = 'websites'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    url = Column(String)

    def __repr__(self):
        return f"<Website(name='{self.name}', url='{self.url}')>"

这个类表示了一个名为 'websites' 的表,具有 'id'、'name' 和 'url' 三个字段。

4、创建表结构:

Base.metadata.create_all(engine)

这将在 SQLite 数据库中创建 'websites' 表。

5、创建会话工厂和会话:

Session = sessionmaker(bind=engine)
session = Session()

6、向表中插入数据:

website1 = Website(name='皮蛋编程', url='https://www.pidancode.com')
session.add(website1)
session.commit()

7、查询表中的数据:

websites = session.query(Website).all()
for website in websites:
    print(website)

8、更新表中的数据:

website_to_update = session.query(Website).filter(Website.url == 'https://www.pidancode.com').first()
website_to_update.name = 'Pidan Coding'
session.commit()

9、删除表中的数据:

website_to_delete = session.query(Website).filter(Website.name == 'Pidan Coding').first()
session.delete(website_to_delete)
session.commit()

10、关闭会话:

session.close()

以上是一个简单的使用 SQLAlchemy 操作 SQLite 数据库的例子。你可以根据自己的需求调整和扩展这个示例。

相关文章