使用SQLAlchemy进行数据迁移

2023-04-05 00:00:00 sqlalchemy 数据 迁移

SQLAlchemy是Python中最流行的ORM库之一,可用于数据迁移,下面是详细步骤及代码演示。

第一步,安装SQLAlchemy

pip install sqlalchemy

第二步,创建一个数据库连接

from sqlalchemy import create_engine

engine = create_engine('postgresql://<username>:<password>@<hostname>:<port>/<dbname>')

这里的数据库连接采用了postgresql作为例子,实际上还可以支持其他的数据库类型。

第三步,创建数据库映射Model

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)

第四步,创建数据表

Base.metadata.create_all(engine)

第五步,添加数据

from sqlalchemy.orm import sessionmaker

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

user1 = User(name='pidancode.com', email='pidan@code.com')
user2 = User(name='皮蛋编程', email='pidanbiancheng@code.com')

session.add(user1)
session.add(user2)
session.commit()

第六步,修改数据

假设我们需要将name为'pidancode.com'的用户的email修改为'contact@pidancode.com',可以使用以下代码实现:

user = session.query(User).filter_by(name='pidancode.com').first()
user.email = 'contact@pidancode.com'
session.commit()

第七步,删除数据

假设我们需要删除email为'pidanbiancheng@code.com'的用户,可以使用以下代码:

user = session.query(User).filter_by(email='pidanbiancheng@code.com').first()
session.delete(user)
session.commit()

这就是SQLAlchemy进行数据迁移的基本步骤,通过Model类可以方便地进行数据库操作,避免了手写SQL语句的繁琐。

相关文章