pymssql模块
- 导入模块
import pymssql
- 连接及操作数据库
建立连接
conn = pymssql.connect('ip','sa','password') # 此时就通过了ip,登录名,密码建立了一个连接对象 # 也可以在后面增加一个参数来指定数据库的名称
进行查询
cursor = conn.cursor() # 获得连接的游标,只是其与sql server进行交互的对象 # 添加as_dict=True可以返回字典,默认是返回元组
# 注意返回是元组组成的列表,或者是字典组成的列表 cursor.execute(''' SELECT * FROM [data].[dbo] ''') # 使用游标来执行查询语句 cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe') # 可以在外部使用格式化字符串,组成一个query语句
# 这样就可以直接引用外部的变量
获取数据
row = cursor.fetchone() # 由于查询时实际上是一条一条的进行查询,所有可以使用上述方法取一条数据 cursor.fetchmany(size=None) # 获取多行数据 rows = cursor.fetchall() # 查询所有数据 # 这个fetch对象是一个迭代器,运行一次及next到下一行 # 直接打开为空,可以像迭代器一样遍历 conn.close() # 完成之后关闭此连接
- 使用上下文管理器
with pymssql.connect(server, user, password, "tempdb") as conn: with conn.cursor(as_dict=True) as cursor: cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe') for row in cursor: print("ID=%d, Name=%s" % (row['id'], row['name']))
在打开文件对象或者建立连接对象时,都建立使用上下文管理器
其可以自动关闭
此处使用了两个with语句,分别对应了连接和游标

浙公网安备 33010602011771号