python 3.6 链接mssql 进行数据操作

摘要:
#
#!/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="localhost", user="zl", pwd="zl@123456", db="zhongla20170901")
        resList = ms.ExecQuery("SELECT * FROM Pub_Law")
        print(resList)


if __name__ == '__main__':
    test()

  

免责声明:文章转载自《python 3.6 链接mssql 进行数据操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python 连接redis密码中特殊字符问题jpa返回List<Map<String, Object>>相当于jdbctemplate的queryForlist下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

超哥笔记--linux准备知识(1)

一 岗位 前端小姐姐 python后端大神 测试工程师 测试+python 测试开发 运维工程师(背锅侠) -安全运维 -linux系统管理员 -桌面运维(helpdesk) -IDC机房运维(服务器上下架) -devops 运维开发 , python开发技能+ linux命令技能 -cmdb资产管理平台(django+saltstack+linux 服...

python之网络编程-多线程

多线程 线程的理论知识 什么是线程 当开启一个进程的时候:内存中开辟空间,加载资源与数据,调用CPU执行,可能还会使用这个空间的资源。 定义:每个进程都有一个地址空间,而且默认就有一个控制线程。进程只是把资源集中到一起(进程可以认为是一个含有代码的空间),而线程才是CPU的执行单位。 多线程:在一个进程中存在多个控制线程,多个控制线程共享该进程的地...

Windows7下使用sphinx生成开源文档(原)

作者这里以osgearth文档为例,感觉这种生成文档的方式比较好,生成的html文档是支持搜索的,感谢开源工作者的奉献。赞一个 1. 下载并安装python for windows:https://www.python.org/downloads/windows/ 2.下载安装setup tools下载easy_stall.py 并运行https://py...

python【第五篇】常用模块学习

1.模块 a.定义:本质就是.py结尾的python文件,逻辑上组织python代码,实现某种功能。例:文件名test.py-->模块名test。 b.导入方法:imort moduname                 from mdname import *                 from mdname import name as...

python 基础数据类型

python基础数据类型 一.什么是数据类型? 二.基础数据类型。 2.1数字int。 2.2布尔值bool。 2.3字符串str。 2.4元祖tuple。 2.5列表list。 2.6字典dict。 2.6集合set。 三.python基础初始总结 四.其他 一.什么是数据类型? 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算...

python之路——表操作

阅读目录   引擎介绍   表介绍   创建表   查看表结构   mysql中的数据类型   表的完整性约束   修改表结构   删除表   多表结构的创建与分析   作业 返回顶部 引擎介绍 mysql中的存储引擎(https://www.cnblogs.com/l-hf/p/11533999.html) 返回顶部 表介绍 表就相当于文...