mysql+python统计表名

事情是这样的,这里需要统计一张表,要用python脚本实现功能:其中一列名为table_name,下面每一行为其他表的表名,有一列为zsl1,其中内容为空,现在就是要统计table_name下面每一张表里面的count,将汇总结果放入zsl1这一列。需求如下图:

 废话不多说,直接贴上写好的代码:

import pymysql

# 连接MySql数据库
conn = pymysql.connect(host='127.0.0.1', user='root', password='xxxx', db='my_database')
cursor = conn.cursor()

# 查询 table_name 列下的所有表名
cursor.execute("SELECT table_name FROM my_table")
tables = cursor.fetchall()

# 遍历每个表,计算总量并将结果写入zsl1列
for table in tables:
    table_name = table[0]
    cursor.execute(f"SELECT COUNT(*) FROM {table_name}")
    count = cursor.fetchone()[0]
    cursor.execute(f"UPDATE my_table SET zsl1={count} WHERE table_name='{table_name}'")
    print(f"表{table_name}共有{count}条数据。")

# 提交更改并关闭连接
conn.commit()
cursor.close()
conn.close()

由于我的工作用到数据库比较少,还没装mysql,于是先装了mysql。以下是mysql地址:MySQL :: Download MySQL Installer

安装好mysql之后,直接用mysql workbench可视化界面先登录,再创建合适的几张表。

创建好表之后,运行代码,可以看到打印输出结果和表格中已经有统计信息。

 over,大家有任何问题,可入qq群:225196739。欢迎大家光临!

猜你喜欢

转载自blog.csdn.net/weixin_41529012/article/details/130946731
今日推荐