Sebbene possano essere utilizzate espressioni regolari e altri trucchi basati su testo, un corretto parser SQL come https://pypi.org /progetto/sqlparse/ è la strada da percorrere. Ad esempio:
import sqlparse
statements = sqlparse.parse(my_evil_sql)
for statement in statements:
if statement.get_type() != "SELECT":
raise Exception("Non-select statement encountered!")
Nota che get_type()
ignora gli spazi bianchi e i commenti all'inizio dell'istruzione.