python 找出数据库中包含某个字段的所有表名
时间: 2023-08-29 13:04:38 浏览: 121
在 Python 中,可以通过查询信息模式表来找出数据库中所有包含某个字段的表名。假设需要找出所有包含字段 `mycolumn` 的表,可以使用以下代码:
```python
import pymysql
# 连接 MySQL 数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='mydatabase')
# 创建游标
cursor = conn.cursor()
# 查询所有包含字段的表名
sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%mycolumn%'"
cursor.execute(sql)
# 获取查询结果
result = cursor.fetchall()
# 输出查询结果
for row in result:
print(row[0])
# 关闭游标和连接
cursor.close()
conn.close()
```
其中,`INFORMATION_SCHEMA.COLUMNS` 是 MySQL 的一个信息模式表,包含了当前数据库中所有表的字段信息。`COLUMN_NAME LIKE '%mycolumn%'` 表示查询包含字段 `mycolumn` 的所有记录。`cursor.fetchall()` 返回一个元组列表,每个元组包含一个表名,可以使用 `for` 循环遍历输出每个表名。最后,需要关闭游标和数据库连接,以释放资源。
阅读全文