हालांकि रेगेक्स और अन्य टेक्स्ट आधारित ट्रिक्स का उपयोग किया जा सकता है, एक उचित SQL पार्सर जैसे https://pypi.org /प्रोजेक्ट/sqlparse/ जाने का रास्ता है। उदाहरण के लिए:
import sqlparse
statements = sqlparse.parse(my_evil_sql)
for statement in statements:
if statement.get_type() != "SELECT":
raise Exception("Non-select statement encountered!")
ध्यान दें कि get_type()
कथन की शुरुआत में रिक्त स्थान और टिप्पणियों को अनदेखा करता है।