gpt4 book ai didi

python - 统计所有数据库中所有表的所有行数

转载 作者:行者123 更新时间:2023-11-29 16:30:46 25 4
gpt4 key购买 nike

下面的脚本可以工作,但没有给出行数。

我确实尝试在这里找到答案并尝试更改它,但由于某种原因,大多数示例/答案都使用某些特定的表/数据库。

正如问题中提到的,我想在所有数据库/表上执行此操作。

import MySQLdb
import json
import os,sys


serv = MySQLdb.connect(host="localhost", user="host")
result = {}
c = serv.cursor()
c.execute("SHOW DATABASES")
l = c.fetchall()
col_names = []
for db_name in l:
name = db_name[0]
c.execute("USE %s;" % name)
c.execute("SHOW TABLE STATUS;")
for desc in c.description:
result.setdefault(desc[0], None)
col_names.append(desc[0])
print(result)

最佳答案

使用 INFORMATION_SCHEMA 元数据库获取所有数据库中所有表的行数。

import MySQLdb

serv = MySQLdb.connect(host="localhost", user="host", db="INFORMATION_SCHEMA")
c = serv.cursor()
c.execute("select table_schema, table_name, table_rows from tables")
l = c.fetchall()
print(l)

输出(截断并重新格式化)

...
('mysql', 'slow_log', 2),
('mysql', 'columns_priv', 0),
('mysql', 'time_zone_transition_type', 0),
('mysql', 'tables_priv', 0),
('mysql', 'column_stats', 0),
('mysql', 'func', 0),
('mysql', 'innodb_index_stats', 2395),
('mysql', 'innodb_table_stats', 423),
('mysql', 'gtid_slave_pos', 0),
('mysql', 'proc', 2),
('mysql', 'time_zone_leap_second', 0),
('mysql', 'db', 3),
('mysql', 'help_topic', 508),
...

关于python - 统计所有数据库中所有表的所有行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53941405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com