Bien que des expressions régulières et d'autres astuces basées sur du texte puissent être utilisées, un analyseur SQL approprié tel que https://pypi.org /projet/sqlparse/ est la voie à suivre. Par exemple :
import sqlparse
statements = sqlparse.parse(my_evil_sql)
for statement in statements:
if statement.get_type() != "SELECT":
raise Exception("Non-select statement encountered!")
Notez que get_type()
ignore les espaces et les commentaires au début de la déclaration.