• Python 3.6 连接mssql数据库(pymssql 方式)


    刚开始学习python ,之前学习一直是用mysql数据库,一直连接成功,今天项目需要连接mssql数据一直测试不成功,搞了一天python3.6连接mssql2016 成功,记录一下:

    在cmd下pip install pymssql  提示缺少Visual C++14 ,网上下载下来安装,提示卸载vs ,这个玩的比较大,其实原因不在这里,网上查看文章先下载pymssql-2.1.3-cp36-cp36m-win_amd64.whl 再初始化:pip install E:pymssql-2.1.3-cp36-cp36m-win_amd64.whl 

    在pycharm 里面也可以看到了    File->Settings->Project:项目名称->Project Interpreter 

    初始化包成功后就可以写代码了,如下:

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    
    import pymssql
    
    
    class MSSQL(object):
        '''
        对pymssql的简单封装
        pymssql库,该库到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
        使用该库时,需要在Sql Server Configuration Manager里面将TCP/IP协议开启
    
        用法:
        '''
    
        def __init__(self,host,user,pwd,db):
            self.host=host
            self.user=user
            self.pwd=pwd
            self.db=db
    
        def GetConnect(self):
            '''
            得到链接信息
            :return:
            '''
            if not self.db:
                raise (NameError,"没有设置数据库信息")
            self.connect=pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")
            cur=self.connect.cursor()
            if not cur:
                raise (NameError,"链接数据库失败")
            else:
                return cur
    
        def ExecQuery(self,sql):
            '''
            执行查询语句
            返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
    
            调用示例:
                    ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
                    resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser")
                    for (id,NickName) in resList:
                        print str(id),NickName
            :param sql: sql语句
            :return:
            '''
            cur=self.GetConnect()
            cur.execute(sql)
            resList = cur.fetchall()
    
            #查询完毕后必须关闭连接
            self.connect.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.connect.commit()
            self.connect.close()
    
    def test():
            ## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
            ## #返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
            ## ms.ExecNonQuery("insert into WeiBoUser values('2','3')")
    
            ms = MSSQL(host="172.16.2.248", user="sa", pwd="qazwsx", db="cytest")
            resList = ms.ExecQuery("SELECT * FROM t_user")
            print(resList)
    
    
    if __name__ == '__main__':
        test()

    python 连接各类主流数据库简单示例:http://blog.csdn.net/a87b01c14/article/details/51546727

  • 相关阅读:
    baselines库中cmd_util.py模块对atari游戏的包装为什么要分成两部分并在中间加入flatten操作呢?
    baselines库中atari_wrappers.py中的环境包装器的顺序问题
    baselines中环境包装器EpisodicLifeEnv的分析
    【转载】 为何大厂选择减人而不是降薪?
    神经网络初始化:xavier,kaiming、ortho正交初始化在CNN网络中的使用
    嵌入式开发之linuxweb 服务器Nginx 详解
    iotop
    blktrace 编译与使用
    文件系统预读
    玩儿观赏鱼教程一:鱼缸分类
  • 原文地址:https://www.cnblogs.com/cybolg/p/7776666.html
Copyright © 2020-2023  润新知