Python操作PostGreSQL數據庫


使用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))

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM