sqlalchemy存储数据
时间: 2024-08-05 10:00:41 浏览: 106
SQLAlchemy是一个强大的Python SQL工具包和ORM(对象关系映射)库,它提供了一种方便的方式来操作关系数据库,即使不直接使用SQL。它允许开发者定义自己的对象模型(通常是基于Python类),然后这些对象模型会自动映射到数据库表中,使得数据的存取更加直观和面向对象。
以下是SQLAlchemy存储数据的主要步骤:
1. 定义数据模型(Entities): 使用`Table`或`declarative_base`创建一个或多个类,它们代表数据库中的表。例如:
```python
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)
email = Column(String)
```
2. 连接到数据库: 使用`create_engine`函数创建数据库引擎,连接到相应的数据库。
```python
from sqlalchemy import create_engine
engine = create_engine('sqlite:///example.db')
```
3. 创建表: 如果数据库中不存在对应的表,可以通过Session对象(`Session`是ORM的核心)自动创建。
```python
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
session.add(User(name='John Doe', email='john.doe@example.com'))
session.commit() # 数据保存到数据库
```
4. 查询数据: 使用Python语法查询对象实例。
```python
user = session.query(User).filter_by(name='John Doe').first()
```
5. 更新和删除数据: 对已有对象执行更新或删除操作。
```python
user.email = 'new_email@example.com'
session.commit() # 更新数据
session.delete(user)
session.commit() -- 删除数据
```
阅读全文