用python获取数据库多张表是否已经上传当月数据
时间: 2024-03-19 22:44:19 浏览: 60
假设要查询的数据库是MySQL,可以使用Python中的PyMySQL库来连接数据库,并且使用SQL语句来查询表中是否已经上传当月的数据。以下是一个示例代码:
```python
import pymysql
from datetime import datetime
# 数据库连接配置
config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': 'password',
'db': 'mydatabase'
}
# 连接数据库
conn = pymysql.connect(**config)
# 获取当前月份
now = datetime.now()
month = now.strftime("%Y-%m")
# 要查询的表名列表
table_names = ['table1', 'table2', 'table3']
# 查询每个表中是否已经上传当月数据
for table_name in table_names:
sql = f"SELECT * FROM {table_name} WHERE DATE_FORMAT(upload_time, '%Y-%m')='{month}'"
cursor = conn.cursor()
cursor.execute(sql)
result = cursor.fetchone()
if result:
print(f"{table_name}表已经上传了当月数据")
else:
print(f"{table_name}表还没有上传当月数据")
# 关闭数据库连接
conn.close()
```
以上代码中,首先连接了MySQL数据库,然后获取当前月份。接着定义了要查询的表名列表,遍历每个表名,使用SQL语句查询表中是否已经上传了当月的数据。如果查询结果存在,则表示该表已经上传了当月数据,否则表示还没有上传当月数据。最后关闭数据库连接。
阅读全文