Python探索SQL Server

时间:2017-06-02 10:44:20

标签: python sql sql-server

当我使用visual studio时,我可以连接到SQL服务器并浏览服务器所拥有的数据库。

有没有办法用python做到这一点?

我创建了一个允许我连接到服务器的脚本

import adodbapi
conn = adodbapi.connect("PROVIDER=SQLOLEDB;Data Source=<location>;Database=<databaseName>; \
       trusted_connection=yes;")
cursor = conn.cursor()

<missing code here>

cursor.close()
conn.close()

这个脚本运行正常,所以我假设连接生成正常。

我希望创造类似这样的东西

for table in sqlserver:
    for row in table:
        print row["name"]

或者可以将这些表作为字典进行探索吗?

我不是要求任何人为我编写此代码,但任何帮助我允许这样做都会受到赞赏,欢呼

感谢您的回复 - 我找到了我问的问题的解决方案。

要获取使用以下代码替换<missing code here>而找到的表列表。

tables = conn.get_table_names()
#prints all table names
for table in tables:
    print table

一旦我选择了一个表(在这种情况下称为&#34; Parts&#34;),我就可以查看每列中的数据。我已经使用.fetchone()函数拉了一行。

sql = r'SELECT * FROM Parts'
cursor.execute(sql)
rows = cursor.fetchone()
rownames = cursor.columnNames

for rowname in rownames: # iterate through all rows
        print str(rowname) + "     " + str(rows[rowname])

1 个答案:

答案 0 :(得分:1)

听起来你想做这样的事情:

sql = 'SELECT * FROM table'
crsr.execute(sql)
rows = crsr.fetchone()
for row in rows: # iterate through all rows
    name = row[0] # replace 0 with row containing names

有关详细信息,请参阅此处的文档:http://adodbapi.sourceforge.net/quick_reference.pdf