sqlite SQLALCHEMY在python中删除现有数据库中的所有行

3npbholx  于 2023-03-13  发布在  SQLite
关注(0)|答案(2)|浏览(119)

我已经根据教程在python中创建了一个sqlite数据库:

from sqlalchemy import create_engine
engine = create_engine('sqlite:///DB.db')

下一次我运行python脚本时,里面有旧数据。
如何删除所有行、重新初始化甚至删除数据库(它位于何处?)?

cgh8pdjw

cgh8pdjw1#

如果不需要持久保存数据,可以使用内存中的sqlite数据库,方法是

engine = create_engine('sqlite://')

如果您仍然希望在运行脚本后可以访问数据,但每次执行都应该重新开始,那么只需在脚本开始时删除DB.db文件(无论工作目录在哪里):

import os
if os.path.exists('DB.db'):
   os.remove('DB.db')
v6ylcynt

v6ylcynt2#

您可以使用以下代码:

file_location = engine.url.database
# To stop using the file
engine.dispose()

# Drop file
os.remove(file_location)

相关问题