psycopg2库是python用来操作postgreSQL 数据库的第三方库。
本文利用psycopg2模块对pg数据库做出一些封装。
1.参数池
connect_parameters = { "database":"xxx", "uname":"postgres", "upwd":"xxx", "host":"127.0.0.1", "port":"5432" }
2.连接数据库 connect()方法
#连接数据库 def reConnect(self): if not self._conn: self._conn = psycopg2.connect(database=self._database, user=self._uname,password=self._upwd, host=self._host,port=self._port) else: pass ##关闭连接 def __del__(self): if self._conn: self._conn.close() self._conn = None
3.获取游标
def newCursor(self): """ 新建游标 :return: """ cur = self._conn.cursor() if cur: logging.debug("Get New Cursor sucessed.") return cur else: logging.error("#Error# Get New Cursor Failed.") return None def deleteCursor(self, cur): """ 删除游标 :param cur: :return: """ if cur: cur.close()
4.数据库的查询
def Query(self, sql): """ 数据查询 :param sql: :return: """ rt = [] try: # 获取cursors cur = self.newCursor() if not cur: return rt # 查询到列表 cur.execute(sql) rt = cur.fetchall() # 获取结果集中的每一行 fetchone返回一行 print(rt) except Exception as e: logging.error("error:{}****sql:{}".format(e, sql)) finally: # 释放cursor self.deleteCursor(cur) return rt
5.数据库插入记录
def insert(self, sql): """ 插入记录 :param sql: sql语句 :param params: 插入值 :return: """ try: cur = self.newCursor() cur.execute(sql) self._conn.commit()#提交数据 except Exception as e: logging.error("error:{}****sql:{}".format(e, sql)) finally: self.deleteCursor(cur)
暂时写到这里,哈哈。
刚开始写博客,也不懂该咋写直接放代码