zoukankan      html  css  js  c++  java
  • 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))
    

      

     

  • 相关阅读:
    Building a RESTful Web Service
    Proxy setting
    同步机制 note
    C++: Virtual Table and Shared Memory
    2018中国大学生程序设计竞赛
    2018 MUltiU 9 dp / 8 upper_bound ; 构造?/
    2018/8/10 部分枚举(类似尺取)
    2018/8/9 MultiU 6 并查集+dfs,反向建边提高查询效率 !!! / 最大字段和n维(降维)/ 状压+中途相遇法
    2018/7/29 cf 499 div 2(1011)
    2018/7/28 欧拉路径
  • 原文地址:https://www.cnblogs.com/bretgui/p/9407678.html
Copyright © 2011-2022 走看看