解析UPADTE SQL表名
时间: 2023-09-06 16:08:48 浏览: 147
SQL 语法 跨表更新
解析 UPDATE SQL 语句中的表名与解析 SELECT 语句类似。以下是一个简单的示例代码:
```python
import sqlparse
# SQL 语句
sql = "UPDATE mytable SET name = 'Alice' WHERE id = 1"
# 解析 SQL 语句
parsed = sqlparse.parse(sql)
# 获取第一个语句块(通常就是整个 SQL 语句)
stmt = parsed[0]
# 获取表名
table_name = None
for token in stmt.tokens:
if token.is_keyword and token.value.upper() == "UPDATE":
table_name = next(stmt.tokens[stmt.tokens.index(token)+1].flatten()).value
break
print(table_name) # 输出 mytable
```
与解析 SELECT 语句类似,这段代码首先使用 sqlparse.parse() 方法解析 SQL 语句,然后获取语句块中的关键字,找到包含表名的那一部分,最后获取表名并输出。
阅读全文