• Python模块-pymssql


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

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

    工作原理

    1. 使用connect创建连接对象;
    2. connect.cursor创建游标对象,SQL语句的执行在游标上执行;
    3. cursor.execute()方法执行SQL语句,cursor.fetch()方法获取查询结果;
    4. 如果有反向修改,需执行connect.commit();
    5. 调用close方法关闭游标cursor和数据库连接;

    注意:https://www.cnblogs.com/baiyangcao/p/pymssql_basic.html

    1. 一个连接一次只能有一个游标的查询处于活跃状态!
    2. 可以通过使用with语句来省去显示的调用close方法关闭连接和游标
    3. 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()
    
  • 相关阅读:
    浮动元素的应用
    网页中选中文字 ,复制的颜色会变化
    JVM指令重排
    JVM相关的几个基本概念
    Cygwin安装apt-cyg
    MySql四种隔离级别
    Django利用form进行显示
    Django在不启动server的情况下调用方法
    Js实现hashMap
    Js编写的菜单树
  • 原文地址:https://www.cnblogs.com/stream886/p/10325032.html
Copyright © 2020-2023  润新知