Python实现的连接mssql数据库操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现的连接mssql数据库操作。分享给大家供大家参考,具体如下:

1. 目标数据sql2008 R2 ComPrject=>TestModel

2. 安装python 连接mssql 模块

运行

pip install pymssql-2.2.0.dev0-cp36-cp36m-win_amd64.whl

运行完毕 查看是否成功 pip -m  list

3. 编写python 代码

import time
import pymssql
#import decimal
class MSSQL:
  def __init__(self,host,user,pwd,db):
    self.host=host
    self.user=user
    self.pwd=pwd
    self.db=db
  def GetConnect(self):
    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 ExecSql(self,sql):
     cur=self.GetConnect()
     cur.execute(sql)
     self.connect.commit()
     self.connect.close()
  def ExecQuery(self,sql):
    cur=self.GetConnect()
    cur.execute(sql)
    resList = cur.fetchall()
    self.connect.close()
    return resList  
def main():
  ms = MSSQL(host="192.168.0.108", user="sa", pwd="sa", db="ComPrject")
  resList = ms.ExecQuery("select *from TestModel")
  print(resList)
if __name__ == '__main__':
  main()
  input("执行完成:")

4. 运行效果

备注:如果读取中文出现乱码,需要修改varchar=>nvarchar

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

浅谈Python的list中的选取范围

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表...

python 将md5转为16字节的方法

python的hashlib库中提供的hexdigest返回长度32的字符串。 直接通过digest返回的16字节,有不可打印字符。 问题来了,因为md5sum是128bit,也就是16...

Python numpy实现二维数组和一维数组拼接的方法

撰写时间:2017.5.23 一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2...

python中单下划线(_)和双下划线(__)的特殊用法

函数使用单下划线_开头   使用单下划线(_)开头的函数_func不能被模块外部以: from module import *形式导入。   但可以用:from module imp...

python文件绝对路径写法介绍(windows)

python在描述路径时有两种方式: 'd:\\a.txt',转义的方式 r'd:\a.txt',声明字符串不需要转义 (使用raw string,也就是在string'前面加r,告诉p...