Python SQLAlchemy对数据表进行创建和删除

21 min read

SQLAlchemy是一个强大的Python ORM库,允许开发者使用Python语言操作多种关系型数据库。下面我将介绍如何使用SQLAlchemy创建和删除数据表。

创建数据表

我们首先需要导入SQLAlchemy库,然后创建一个数据库引擎和一个会话对象。在创建数据库引擎时,我们需要指定数据库类型、服务器地址、端口号、数据库名称、用户名和密码。例如:

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

# 创建数据库引擎
engine = create_engine('postgresql://username:password@localhost:5432/mydatabase')
# 创建会话对象
Session = sessionmaker(bind=engine)
session = Session()

接下来,我们可以使用SQLAlchemy提供的declarative_base()函数创建一个基类,然后定义一个继承该基类的类来表示一个数据表。例如,我们可以创建一个名为Employee的数据表,其中包含idnameage三个列:

from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String

# 创建基类
Base = declarative_base()

# 定义数据表类
class Employee(Base):
    __tablename__ = 'employee'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)

在上面的示例中,我们使用__tablename__属性指定数据表名称,然后定义了三个列:idnameageid列为主键,nameage列分别为字符串类型和整型。

最后,我们可以在数据库中创建数据表,通过调用基类的metadata属性来实现:

# 创建数据库表
Base.metadata.create_all(engine)

这将会在数据库中创建名为employee的数据表。

删除数据表

当我们需要删除数据表时,可以使用基类的metadata属性和drop_all()方法:

# 删除数据库表
Base.metadata.drop_all(engine)

这会将数据库中的employee数据表删除。请注意,这将删除数据表和其中的所有数据,所以要小心操作。