python pymssql_Python模块-pymssql[通俗易懂]

python pymssql_Python模块-pymssql[通俗易懂]Python默认的数据库是SQLlite,不过它对MySql以及SQLserver的支持也可以。如果想链接操作SQLserver,需使用第三方包pymssqlpymssql是一个Python的数据库接口,基于FreeTDS构建,对_mssql模块进行了封装,遵循Python的DBAPI规范,而FreeTDS是一个C语言连接sqlserver的公共开源库工作原理使用connect创建连接对象;…

大家好,又见面了,我是你们的朋友全栈君。

Python默认的数据库是 SQLlite,不过它对MySql以及SQL server的支持也可以。如果想链接操作SQL server,需使用第三方包pymssql

pymssql是一个Python的数据库接口,基于FreeTDS构建,对_mssql模块进行了封装,遵循Python的DBAPI规范,而FreeTDS是一个C语言连接sqlserver的公共开源库

工作原理

使用connect创建连接对象;

connect.cursor创建游标对象,SQL语句的执行在游标上执行;

cursor.execute()方法执行SQL语句,cursor.fetch()方法获取查询结果;

如果有反向修改,需执行connect.commit();

调用close方法关闭游标cursor和数据库连接;

一个连接一次只能有一个游标的查询处于活跃状态!

可以通过使用with语句来省去显示的调用close方法关闭连接和游标

pymssql 2.0.0以上的版本可以通过cursor.callproc方法来调用存储过程

常用封装

class MSSQL:

# 类的构造函数,初始化数据库连接ip或者域名,以及用户名,密码,要连接的数据库名称

def __init__(self,host,user,pwd,db):

self.host=host

self.user=user

self.pwd=pwd

self.db=db

# 得到数据库连接信息函数,返回: conn.cursor()

def __GetConnect(self):

self.conn=pymssql.connect(host=self.host,

user=self.user,

password=self.pwd,

database=self.db,

charset=’utf8′)

cur=self.conn.cursor() #将数据库连接信息,赋值给cur。

if not cur:

raise(NameError,”连接数据库失败”)

else:

return cur

#执行查询语句,返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段

def ExecQuery(self,sql):

cur = self.__GetConnect() #获得数据库连接信息

cur.execute(sql) #执行Sql语句

resList = cur.fetchall() #获得所有的查询结果

self.conn.close() #查询完毕后必须关闭连接

return resList #返回查询结果

#执行Sql语句函数,无返回结果的,方向修改的

def ExecNonQuery(self,sql):

cur = self.__GetConnect()

cur.execute(sql)

self.conn.commit()

self.conn.close()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149420.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月16日 下午10:06
下一篇 2022年6月16日 下午10:07


相关推荐

  • 「VS Code」Visual Studio Code 菜鸟教程:从入门到精通

    「VS Code」Visual Studio Code 菜鸟教程:从入门到精通VisualStudio 或简称为 VSCode 是我最喜欢的代码编辑器 我希望能有更多人享受到 VSCode 的便捷与强大 然而已存教程不足以成为我们了解 VSCode 的窗口 很多具有广泛使用场景的功能 比如命令窗口和终端 这些教程都没有涉猎 该种情况促成了本文的诞生 本文希望 哪怕是从未使用过 VSCode 的读者 也能在阅读本文后便精通使用 VSCode

    2026年3月20日
    2
  • 腾讯元宝应用广场在哪里

    腾讯元宝应用广场在哪里

    2026年3月13日
    3
  • Claude Code完整使用指南与教程

    Claude Code完整使用指南与教程

    2026年3月16日
    2
  • win10创建Ubuntu16.04子系统,安装常用软件以及图形界面(包括win10远程桌面连接Ubuntu)

    win10创建Ubuntu16.04子系统,安装常用软件以及图形界面(包括win10远程桌面连接Ubuntu)目录一 开启 win10 子系统 WindowsSubsy WSL 二 基本配置三 安装常用的软件安装配置 zsh 使用 bash 客户端软件 cmder 其实是 windows 中使用 linux 命令的软件 四 安装图形界面通过本机远程桌面安装 gedit SublimeText 通过安装桌面环境一 开启 win10 子系统 Windo

    2026年3月18日
    7
  • pycharm运行文件_pycharm编译成exe

    pycharm运行文件_pycharm编译成exe一个项目开发完毕后总有一种想法,就是生成可执行文件,总不能一直用pythonxxx执行吧。以下操作同时适用于windows和Linux下的Pycharm(我在Ubuntu下试验过,生成的是在Ubuntu下的可执行文件)1、打开Pycharm。在pycharm中安装插件PyInstaller2、打开Terminal(快捷键Alt+F12)3、安装pyinstaller工具输入:pipinst…

    2022年8月29日
    5
  • switch case语法

    switch case语法基本语法结构不要拿青龙偃月刀去削苹果既然已经有了分支语句 那为什么还要语句呢 语句也是一种分支语句 常常用于多分支的情况 这种多分支 一般指的是很多很多分支 而且判定条件主要以整型为主 如 输入数字 输出相应的星期几以上的程序 如果用来写 会非常的繁琐 决定了从哪开始执行语句 所以说是判定功能具体效果看上面图片那如果没有会发生什么呢 我们删除了的 看效果可以看到 当我们输入的时候 开始执行 然后竟然也执行了 后续也执行 直到星期五结束后 没再执行 当我们输入的时候 从开始执行 直到星期五结束 可以发

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号