Obwohl reguläre Ausdrücke und andere textbasierte Tricks verwendet werden können, ist ein geeigneter SQL-Parser wie https://pypi.org /project/sqlparse/ ist der Weg zu gehen. Zum Beispiel:
import sqlparse
statements = sqlparse.parse(my_evil_sql)
for statement in statements:
if statement.get_type() != "SELECT":
raise Exception("Non-select statement encountered!")
Beachten Sie, dass get_type()
ignoriert Leerzeichen und Kommentare am Anfang der Anweisung.