import pymysql
def get_all_tables(db_name):
"""
获取数据库中的所有表
"""
connection = pymysql.connect(host='10.X.XX.XXX',
user='用户名',
password='密码',
db=‘数据库名称’,
charset='utf8',
cursorclass=pymysql.cursors.DictCursor)
tables = []
try:
with connection.cursor() as cursor:
sql = '''SHOW TABLES''' # 同理 改成 '''SHOW DATABASES''' 即可获取所有数据库名称
cursor.execute(sql)
table = cursor.fetchall() # 获取所有(输出是列表,列表中的每个元素是字典,字典的KEY是Tables_in_拼接数据库名称)
for k in range(len(table)): # 提取表名
tables.append(table[k]['Tables_in_数据库名称'])
finally:
connection.commit()
connection.close()
return tables
get_all_tables('db_name')