如何获取所有数据库的列表并在 python 中对其进行 运行 查询

How to get list of all databases and run query on it in python

我想打印 1 个 RDS 的所有数据库和 运行 一个 select 查询。 在这里,我能够打印所有数据库,但想 运行 SELECT 查询每个数据库。 请提出解决方案?

import boto.rds
import sys
import os
import MySQLdb

conn = boto.rds.connect_to_region("ap-southeast-1", aws_access_key_id='xxxx',aws_secret_access_key='xxx')
instances = conn.get_all_dbinstances()
db = instances[0] 
print "%s %s" % (instances, db.endpoint)

我用它作为代码,但它不起作用

host_name=db.endpoint
print host_name 

db = MySQLdb.connect(host=host_name,user="dxx",passwd="xxx",db="xxx")
cursor = db.cursor()
cursor.execute("SHOW DATABASES")
db.commit()
numrows = int(cursor.rowcount)
for x in range(0,numrows):
    row = cursor.fetchone()
     if row[0].find('em') != -1:
        print row[0]
        sql="select * from row[0].T_USER where LoginId='%s'" % 'hello'
        cursor.execute(sql) 
        results = cursor.fetchone()
        print results[0] 

http://boto.readthedocs.org/en/latest/rds_tut.html

查看此页面。有用。

db.endpoint看起来像这样

(u'db-master-1.aaaaaaaaaa.us-west-2.rds.amazonaws.com', 3306)

它是 python 元组并使用 like

host_name=db.endpoint[0]

并打印所有数据库使用像

这样的简单查询
show databases;