码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用Python操作MSSQL数据库.


    有时想更新或迁移部分SqlServer数据,用SQL只会整几句select,高级点的连个游标都玩不转有木有?拿起VS写个小程序不停的改又编译很烦,有木有?

    想用脚本写了有木有?

    本文介绍使用python,adodbapi操作数据库:

    adodbapi 库

    python 可以操作mssqlserver的类库有几个,支持python3.x的目前没几个靠谱的. adodbapi是使用ADO操作的.(不能跨平台?需要么?)

    所以首先要安装  

    Python for Windows extensions

      ,有了pywin32这个扩展可以做很多事,用它操作EXCEL等,甚至比VBScript还要简洁

    如:

    '''

         self.xlBook=self.xlApp.Workbooks.Open(filename)

         sht = self.xlBook.Worksheets(sheet)   
          sht.Cells(row, col).Value = value 

    '''

    详细过程:

    首先添加引用:

    import adodbapi
    adodbapi.adodbapi.verbose = False # adds details to the sample printout
    import adodbapi.ado_consts as adc

    创建连接:

        Cfg={'server':'192.168.29.86\\eclexpress','password':'xxxx','db':'pscitemp'}
        constr = r"Provider=SQLOLEDB.1; Initial Catalog=%s; Data Source=%s; user ID=%s; Password=%s; " \
             % (Cfg['db'], Cfg['server'], 'sa', Cfg['password'])
        conn=adodbapi.connect(constr)

    其中Cfg是个key-value字典,constr格式化语法是python2.x常用,在3.x可以使用下面的.

    执行sql语句:

        cur=conn.cursor()
        sql='''select * from softextBook where title='{0}' and remark3!='{1}'
        '''.format(bookName,flag)
        cur.execute(sql)

        data=cur.fetchall()
        cur.close()

    其中三个引号类似于C#字符串前的"@",python中字符串可以用一个或两个,三个括起来,format格式化语法也类似

    执行存储过程:

         #假设proName有三个参数,最后一个参数传了null

        ret=cur.callproc('procName',(parm1,parm2,None))

        conn.commit()

    关闭连接

    conn.close()

    很简单有木有?

    更多代码示例见安装目录下里的unit test代码:

    C:\Python31\Lib\site-packages\adodbapi\tests

  • 相关阅读:
    进阶JAVA篇- Date 类与 SimpleDateFormat 类、Calendar 类常用的API(五)
    web网页设计期末课程大作业:美食餐饮文化主题网站设计——中华美德6页面HTML+CSS+JavaScript
    Linux内核学习
    gin 路由到模板(多应用模式--view为模板存放地址,admin为后台,web为前台)
    语音信号处理-基础(五):傅立叶变换【离散傅里叶变换(DFT)、O(n^2)】【快速傅里叶变换(FFT)、O(nlogn)】、【短时傅里叶变换(STFT)】
    go语言接口之接口类型
    找不到msvcp140.dll的解决方法,以及msvcp140.dll丢失的原因
    2022年 证券期货业信息技术服务连续性管理指南
    Java设计模式01- 概览
    vue-router清除url地址栏路由参数
  • 原文地址:https://blog.csdn.net/xxpr_ybgg/article/details/126832519
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号