• 欢迎访问金笔头博客,这是一个菜鸟(伪)程序员的自留地,欢迎访问我的github:点击进入

Python操作sqlserver

python eason 1937次浏览 0个评论 扫描二维码
# -*- coding: UTF-8 -*-
#
# Name: MSSQL.py
#
# Author: jinbitou
#
# Created: 2016/03/05

import pymssql


class MSSQL:
    """
    需要用到pymssql库,该库到这里下载:https://pypi.python.org/pypi/pymssql

    """

    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(as_dict=True)#
        if not cur:
            raise(NameError,"连接数据库失败")
        else:
            return cur

    def ExecQuery(self,sql):
        """
        执行查询语句
        返回的是dictionaries,可以通过名字来代替索引访问列数据

        调用示例:
                ms = MSSQL(host="localhost",user="jinbitou",pwd="123456",db="test")
                resList = ms.ExecQuery("SELECT id,Name FROM tableName")
                for row in resList:
                    print(row["id"],row["Name"])
        """
        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()


金笔头博客, 版权所有丨如未注明 , 均为原创, 转载请注明Python操作sqlserver
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址