SQL_Server查询类封装

在工作中,经常要用Python去取SQL里的数据,为了避免让每个小伙伴每次取数都要重写一遍代码,决定写一个类来解决这个问题。

SQL_Server类及其属性

可以用于SQl_Server的库

首先要引入一个可以处理SQL的库,pymssql就可以了

import pymssql

建立类并添加类属性和查询执行函数

  1. 当有2个及以上的单词时,PET8里的规则是驼峰,但我个人是喜欢用下划线,不管是驼峰还是下划线,记住类的首字母要大写;
  2. 既然是数据库,那么创建实例之后必然就是要连接,所以把连接作为类的属性,同时,连接后必然是要进行查询,那么就把游标也当成类的属性;
Class SQL_Server:

    def __init__(self, server='127.0.0.1', user='test', password='test',
                 database='db'):
    
		self.conn = pymssql.connect(server=server, user=user, password=password, database=database, charset='utf8')
        # self.server = server
        # self.user = user
        # self.password = password
        # self.database = database
        self.cursor = self.conn.cursor()

    def query(self, sql_code):
        try:
            self.cursor.execute(sql_code)
            result = self.cursor.fetchall()
            self.conn.commit()  # 仅进行新增,更新,删除的时候需要commit,即向数据库提交,查询不需要
            return result
        except Exception as e:
            print(e)
        finally:
            self.conn.close()

    def execute(self, sql_code):
        try:
            self.cursor.execute(sql_code)
            self.conn.commit()
        except Exception as e:
            print(e)
        finally:
            self.conn.close()


if __name__ == "__main__":
    sql = SqlServer()  # 创建一个SQL实例
    sql.cursor.execute('''
        SELECT * FROM comPerson
        WHERE OnJob = 0
        and PostId != ''
        ''')
    result1 = sql.cursor.fetchall()
    print(result1)
    result2 = sql.query('''
        SELECT * FROM comPerson
        WHERE OnJob = 0
        and PostId != ''
        ''')
    print(result2)
    ```
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White_Mountain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值