使用 python 获取 MySQL 数据库列表

elP*_*tor 5 python mysql database

我试图通过 python (2.7) 获取与我的 MySQL 服务器关联的所有数据库的名称,但我只是获取数据库的数量。

我环顾四周,似乎唯一的答案可能是sys用于命令行调用,获取数据库的名称,然后从那里继续,但我不敢相信这是唯一的方法。

当前代码:

import MySQLdb

serv = MySQLdb.connect(host = "localhost", user = "root", passwd = "abcdefg")

c = serv.cursor()

print c.execute("SHOW DATABASES")
Run Code Online (Sandbox Code Playgroud)

输出:

4
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助。

Ima*_*deh 8

我不确定 mysql 连接器是否与您的库相同,但使用 msyql 连接器您的答案将是这样的:

import mysql.connector
conn = mysql.connector.connect (user='user', password='password',
                               host='server_address',buffered=True)
cursor = conn.cursor()
databases = ("show databases")
cursor.execute(databases)
for (databases) in cursor:
     print databases[0]
Run Code Online (Sandbox Code Playgroud)

  • 对于 python 3 使用 print(databases[0]) (2认同)