Python笔记:连接数据库 2019-12-10

    上次把环境搞定了,把如何安装第三方包也弄清楚了,pymssql也装好,剩下的其实就比较简单的了,百度下,找了段例子。

#coding=utf-8

# sqlserver的连接

import pymssql

class MSSQL:

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

        self.host = host

        self.user = user

        self.pwd = pwd

        self.db = db

    def __GetConnect(self):

        """

        得到连接信息

        返回: conn.cursor()

        """

        if not self.db:

            raise(NameError,"没有设置数据库信息")

        self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")

        cur = self.conn.cursor()

        if not cur:

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

        else:

            return cur

    def ExecQuery(self,sql):

        """

        执行查询语句

        返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段

        """

        cur = self.__GetConnect()

        cur.execute(sql)

        resList = cur.fetchall()

        #查询完毕后必须关闭连接

        self.conn.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.conn.commit()

        self.conn.close()

def main():

    ms = MSSQL(host="LM-PC",user="sa",pwd="12345678",db="example_for_lm")

    resList = ms.ExecQuery("SELECT * FROM sample")

    print(resList)

if __name__ == '__main__':

    main()

    python的书写规范其实跟其他语言差不多,里面的实现技巧也大同小异,用"""" 和""""做跨段注释,用#做本行注释,用:做类开头。我在sql server 2014里建了个数据库"example_for_lm",里面建了个"sample"的表,试着怎么查询然后显示出来。把    ms = MSSQL(host="XX-PC",user="sa",pwd="12345678",db="example_for_me")里面的host改为数据库服务器主机名或ip,user改为数据库用户,pwd为密码,db为连接后的默认数据库,上机运行,成功。python挺好玩,直接就print结果集,简单粗暴。搞清楚整个流程,剩下的只是拼凑ms.ExecQuery后面执行的sql语句了,增删改记录什么的,这些百度一下,都不难搞定。

  注意点:

一、pymssql主要提供的conn(连接)和cursor(操作)两个方法。

二、用完记得把conn关闭掉 close()。


数据库
python
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容