上次把环境搞定了,把如何安装第三方包也弄清楚了,pymssql也装好,剩下的其实就比较简单的了,百度下,找了段例子。
#coding=utf-8
# sqlserver的连接
import pymssql
class MSSQL:
def __init__(self,host,user,pwd,db):
self.host = host
self.user = user
self.pwd = pwd
self.db = db
def __GetConnect(self):
"""
得到连接信息
返回: conn.cursor()
"""
if not self.db:
raise(NameError,"没有设置数据库信息")
self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
cur = self.conn.cursor()
if not cur:
raise(NameError,"连接数据库失败")
else:
return cur
def ExecQuery(self,sql):
"""
执行查询语句
返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
"""
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall()
#查询完毕后必须关闭连接
self.conn.close()
return resList
def ExecNonQuery(self,sql):
"""
执行非查询语句
调用示例:
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
"""
cur = self.__GetConnect()
cur.execute(sql)
self.conn.commit()
self.conn.close()
def main():
ms = MSSQL(host="LM-PC",user="sa",pwd="12345678",db="example_for_lm")
resList = ms.ExecQuery("SELECT * FROM sample")
print(resList)
if __name__ == '__main__':
main()
python的书写规范其实跟其他语言差不多,里面的实现技巧也大同小异,用"""" 和""""做跨段注释,用#做本行注释,用:做类开头。我在sql server 2014里建了个数据库"example_for_lm",里面建了个"sample"的表,试着怎么查询然后显示出来。把 ms = MSSQL(host="XX-PC",user="sa",pwd="12345678",db="example_for_me")里面的host改为数据库服务器主机名或ip,user改为数据库用户,pwd为密码,db为连接后的默认数据库,上机运行,成功。python挺好玩,直接就print结果集,简单粗暴。搞清楚整个流程,剩下的只是拼凑ms.ExecQuery后面执行的sql语句了,增删改记录什么的,这些百度一下,都不难搞定。
注意点:
一、pymssql主要提供的conn(连接)和cursor(操作)两个方法。
二、用完记得把conn关闭掉 close()。
数据库 python
网友评论