如何获取所有数据库的列表并在 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;
我想打印 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;