使用pip安裝相關依賴:
pip install psycopg2
連接到數據庫,獲取connect對象:
def GetConnect(self):
conn = False
try:
conn = psycopg2.connect(
database=self.dataBaseName,
user=self.userName,
password=self.password,
host=self.host,
port=self.port
)
except Exception as err:
print("連接數據庫失敗,%s" % err)
else:
return conn
獲取cursor對象:
self._conn = self.GetConnect()
if self._conn:
self._cur = self._conn.cursor()
代碼示例:
# -*- coding: utf-8 -*-
import psycopg2
dataBaseName = "weather"
userName = "postgres"
password = "postgres"
host = "localhost"
port = "5432"
class PostGreSQL:
#初始化
def __init__(self):
self.dataBaseName = dataBaseName
self.userName = userName
self.password = password
self.host = host
self.port = port
self._conn = self.GetConnect()
if self._conn:
self._cur = self._conn.cursor()
#獲取數據庫連接對象
def GetConnect(self):
conn = False
try:
conn = psycopg2.connect(
database=self.dataBaseName,
user=self.userName,
password=self.password,
host=self.host,
port=self.port
)
except Exception as err:
print("連接數據庫失敗,%s" % err)
else:
return conn
#執行查詢sql
def ExecQuery(self,sql):
res = ""
try:
self._cur.execute(sql)
res = self._cur.fetchall()
except Exception as err:
print("查詢失敗, %s" % err)
else:
return res
#執行增刪改sql
def ExceNonQuery(self,sql):
flag = False
try:
self._cur.execute(sql)
self._conn.commit()
flag = True
except Exception as err:
flag = False
self._conn.rollback()
print("執行失敗, %s" % err)
else:
return flag
def GetConnectInfo(self):
print("連接信息:")
print("服務器:%s , 用戶名:%s , 數據庫:%s " % (self.host, self.userName, self.dataBaseName))
