• 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))
    

      

     

  • 相关阅读:
    数据库的左右表连接
    数据库索引-索引的优点、缺点、分类、不走索引的情况
    selenium中日期控件的操作方法
    esdoc 自动生成接口文档介绍
    css设置背景图(背景图太大导致图片显示不全)
    k8s调度器及调度队列源码分析
    MIT6.824 2020 Lab1 MapReduce 实现
    git命令
    python3.6、3.9多版本安装共存
    使用蓝鲸平台登录态验证接入第三方系统
  • 原文地址:https://www.cnblogs.com/bretgui/p/9407678.html
Copyright © 2020-2023  润新知