Tôi đang sử dụng SQlAlchemy. Tôi muốn xóa tất cả các bản ghi có hiệu quả trong cơ sở dữ liệu nhưng tôi không muốn bỏ bảng/cơ sở dữ liệu.Làm thế nào để làm sạch cơ sở dữ liệu, thả tất cả hồ sơ bằng sqlalchemy?
Tôi đã thử với mã sau.
con = engine.connect()
trans = con.begin()
con.execute(table.delete())
trans.commit()
Dường như, nó không phải là thứ rất hiệu quả vì tôi đang lặp qua tất cả các bảng trong cơ sở dữ liệu. Một số người có thể gợi ý cho tôi cách làm tốt hơn và hiệu quả hơn không?
Bất kỳ loại trợ giúp nào được đánh giá cao ở đây.
Đối với một số cơ sở dữ liệu tồn tại 'cắt xén' tuyên bố. Nó tạo lại bảng và hoạt động nhanh hơn và không giao dịch. Bạn có thể thực thi nó với SQL thô với engine.execute ('' 'cắt ngắn tablename' '') – varela
@Varela Cảm ơn bạn đã chia sẻ suy nghĩ của mình Tôi muốn viết phương thức/chức năng theo cách nó sẽ hoạt động trên tất cả các cơ sở dữ liệu. Vì 'truncate' là DB phụ thuộc, nó sẽ không phải là lựa chọn đầu tiên của tôi. – Rakesh
Sau đó, không có gì tốt hơn, bạn không thể bỏ qua việc lặp qua các bảng và có thể xóa câu lệnh duy nhất hoạt động cho tất cả các DB. – varela