Spaces:
Sleeping
Sleeping
| import sqlparse | |
| class UtilityClass: | |
| def is_valid_sql_query(sql: str) -> bool: | |
| """ | |
| Returns True if the string is a valid SQL statement (not just a keyword in text). | |
| Uses sqlparse to check for a valid statement structure. | |
| """ | |
| if not sql or not isinstance(sql, str): | |
| return False | |
| parsed = sqlparse.parse(sql) | |
| if not parsed or not parsed[0].tokens: | |
| return False | |
| # Check if the first token is a DML/DDL keyword and the statement is not just a keyword | |
| stmt = parsed[0] | |
| first_token = stmt.token_first(skip_cm=True, skip_ws=True) | |
| if first_token is None: | |
| return False | |
| # Accept only if the first token is a SQL keyword and there is more than one token | |
| return first_token.ttype in sqlparse.tokens.Keyword.DML and len(stmt.tokens) > 1 | |