我正在使用SQlAlchemy。我想刪除數據庫中有效存在的所有記錄,但我不想刪除表/數據庫。如何清理數據庫,使用sqlalchemy刪除所有記錄?
我試着用下面的代碼。
con = engine.connect()
trans = con.begin()
con.execute(table.delete())
trans.commit()
看來,它不是非常有效的一個,因爲我遍歷所有存在於數據庫表。 有人可以建議我這樣做的更好和有效的方式嗎?
任何形式的幫助在這裏非常感謝。
對於某些數據庫存在 '截斷' 的語句。它重新創建表並且工作得更快,而不是事務性的。您可以使用engine.execute('''truncate tablename''')來執行原始SQL。 – varela
@Varela感謝您分享您的想法我想以適用於所有數據庫的方式編寫方法/函數。由於'truncate'依賴於數據庫,因此它不是我的第一選擇。 – Rakesh
然後沒有什麼比這更好的了,你不能省略遍歷表並刪除可能適用於所有DB的唯一語句。 – varela