我编写了一个模块,用于创建一个空数据库文件
def create_database():
engine = create_engine("sqlite:///myexample.db", echo=True)
metadata = MetaData(engine)
metadata.create_all()
但在另一个函数中,我想打开myexample.db
数据库,如果还没有该表,则为其创建表。
我将创建的第一个后续表的 EG 为:
Table(Variable_TableName, metadata,
Column('Id', Integer, primary_key=True, nullable=False),
Column('Date', Date),
Column('Volume', Float))
(由于它最初是一个空数据库,因此其中没有表,但随后,我可以向其中添加更多表。这就是我想说的。)
有什么建议么?
我已经设法弄清楚我打算做什么。我用了engine.dialect.has_table(engine, Variable_tableName)
检查数据库中是否有该表。IF如果没有,那么它将继续在数据库中创建一个表。
示例代码:
engine = create_engine("sqlite:///myexample.db") # Access the DB Engine
if not engine.dialect.has_table(engine, Variable_tableName): # If table don't exist, Create.
metadata = MetaData(engine)
# Create a table with the appropriate Columns
Table(Variable_tableName, metadata,
Column('Id', Integer, primary_key=True, nullable=False),
Column('Date', Date), Column('Country', String),
Column('Brand', String), Column('Price', Float),
# Implement the creation
metadata.create_all()
这似乎给了我我正在寻找的东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)