Loading

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语句,分别对应了连接和游标

 

posted @ 2020-12-08 18:39  lixin2020  阅读(184)  评论(0)    收藏  举报