基本的用法可以参考: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()
输出: