使用 Python 中的 ORM 框架来操作 SQLite 数据库
在 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 数据库的例子。你可以根据自己的需求调整和扩展这个示例。
相关文章