繁体   English   中英

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

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

我想打印1个RDS的所有数据库并对其运行选择查询。 在这里,我能够打印所有数据库,但希望在每个数据库上运行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元组,使用像

host_name=db.endpoint[0]

并打印所有数据库,例如使用简单的查询

show databases;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM