python连接SQL Server取多个结果集:Pymssql模块

基本的用法可以参考:python连接SQL Server:Pymssql模块 

和上一篇文章中的代码,只取一个结果集不同,这次会一次运行2个sql语句,然后分别取出2个结果集,打印输出。

代码中有详细的注释,一看就明白

 

# -*- coding:gbk -*-


import pymssql

#数据库连接
conn=pymssql.connect(host='wc-pc',user='sa',password='ggg',database='Test')

#打开游标
cur=conn.cursor();

if not cur:
    raise Exception('数据库连接失败!')


#有2条sql,第2个sql某个相同的分数对应几门课程
sSQL = 'SELECT * FROM TB;select score,count(*) c from tb group by score'



#1.执行sql,获取所有数据
cur.execute(sSQL)
result=cur.fetchall()


print('\n第一个结果集:')


#通过enumerate返回行号
for i,(id,name,v) in enumerate(result):
    print('第 '+str(i+1)+' 行记录->>> '+ str(id) +' '*3+ name+ ' '*3 + str(v) )



#2.下一个结果集
cur.nextset()
nextResult=cur.fetchall()


#这段for循环输出列时,不需要考虑有多少列,更加灵活
print('\n第2个结果集:')
for i in range(len(nextResult)):
    print('第 '+str(i+1)+' 行记录->>> ' + (' '*3).join(str(nextResult[i][k]) for k in range(len(nextResult[i]) ) ) )


conn.close()

输出:

python连接SQL Server取多个结果集:Pymssql模块_第1张图片

 

转载于:https://www.cnblogs.com/momogua/p/8304399.html

你可能感兴趣的:(python连接SQL Server取多个结果集:Pymssql模块)