Abrufen von rohen, kompilierten SQL-Abfragen aus SQLAlchemy-Ausdrücken
Die Abfrageschnittstelle von SQLAlchemy bietet eine leistungsstarke Abstraktion zum Erstellen von Datenbankabfragen. Der Zugriff auf die zugrunde liegende SQL-Anweisung kann jedoch eine Herausforderung sein. Um die rohe, kompilierte SQL-Abfrage mit gebundenen Parametern zu erhalten, ziehen Sie die folgenden Optionen in Betracht:
Verwendung des literal_binds-Arguments
Die Dokumentation schlägt die Verwendung von literal_binds vor um eine Abfrage q mit zu drucken Parameter:
print(q.statement.compile(compile_kwargs={"literal_binds": True}))
Vorbehalte
Dokumentationswarnung
In der Dokumentation wird gewarnt, dass Sie diese Methode nicht mit Daten aus nicht vertrauenswürdigen Quellen wie Webformularen verwenden sollten. Die Mechanismen von SQLAlchemy zum Konvertieren von Python-Werten in SQL-String-Werte verarbeiten nicht vertrauenswürdige Daten nicht sicher und überprüfen nicht den Typ der übergebenen Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich die rohe, kompilierte SQL-Abfrage aus einem SQLAlchemy-Ausdruck abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!