Aunque se pueden emplear expresiones regulares y otros trucos basados en texto, un analizador SQL adecuado como https://pypi.org /proyecto/sqlparse/ es el camino a seguir. Por ejemplo:
import sqlparse
statements = sqlparse.parse(my_evil_sql)
for statement in statements:
if statement.get_type() != "SELECT":
raise Exception("Non-select statement encountered!")
Tenga en cuenta que get_type()
ignora los espacios en blanco y los comentarios al principio de la declaración.