如何使用python删除sqlite3中的所有表?
我做了一个项目,从用户那里收集数据并存储在不同的表上,应用程序有一个删除功能,第一个选项是删除一个我已经做过的特定表,第二个选项是删除所有现有表 如何删除数据库中的所有表 这就是我的变量如何使用python删除sqlite3中的所有表?,python,sqlite,Python,Sqlite,我做了一个项目,从用户那里收集数据并存储在不同的表上,应用程序有一个删除功能,第一个选项是删除一个我已经做过的特定表,第二个选项是删除所有现有表 如何删除数据库中的所有表 这就是我的变量 conn = sqlite3.connect('main.db') cursor = conn.execute("DROP TABLE") cursor.close() 如何删除数据库中的所有表 据 SQLite允许您一次只删除一个表。删除多个 表,您需要发出多个
conn = sqlite3.connect('main.db')
cursor = conn.execute("DROP TABLE")
cursor.close()
如何删除数据库中的所有表
据
SQLite允许您一次只删除一个表。删除多个
表,您需要发出多个DROP TABLE
语句
可以通过查询所有表名() 然后可以使用结果逐个删除表 这是代码,函数
delete\u all\u tables
可以做到这一点
TABLE_PARAMETER = "{TABLE_PARAMETER}"
DROP_TABLE_SQL = f"DROP TABLE {TABLE_PARAMETER};"
GET_TABLES_SQL = "SELECT name FROM sqlite_schema WHERE type='table';"
def delete_all_tables(con):
tables = get_tables(con)
delete_tables(con, tables)
def get_tables(con):
cur = con.cursor()
cur.execute(GET_TABLES_SQL)
tables = cur.fetchall()
cur.close()
return tables
def delete_tables(con, tables):
cur = con.cursor()
for table, in tables:
sql = DROP_TABLE_SQL.replace(TABLE_PARAMETER, table)
cur.execute(sql)
cur.close()
您是否考虑使用SqLalCimy来建模数据库?这样做可以方便地使用数据库,包括db.drop\u all(和create\u all),但也可以方便地进行查询。您可以删除数据库并重新创建它,而不是删除所有表。