博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个可能有用的封闭PGSQL操作的PYTHON函数
阅读量:6972 次
发布时间:2019-06-27

本文共 1925 字,大约阅读时间需要 6 分钟。

 

 

 

URL:

http://www.linuxyw.com/517.html

一般操作:

import psycopg2连接数据库conn = psycopg2.connect(database=db_name,user=db_user,password=db_pass,host=db_ip,port=db_port)建立游标cursor = conn.cursor()执行SQL语句cursor.execute(sql)提交conn.commit()关闭conn.close()

 

 

import psycopg2import loggingdb_name = "****"db_user = "****"db_pass = "****"db_ip = "****"error_log =  "****"#定义日志输出格式logging.basicConfig(level=logging.ERROR,        format = '%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',        datefmt = '%Y-%m-%d %H:%M:%S',        filename = error_log,        filemode = 'a')def writeDb(sql,data):    """    连接mysql数据库(写),并进行写的操作,如果连接失败,会把错误写入日志中,并返回false,如果sql执行失败,也会把错误写入日志中,并返回false,如果所有执行正常,则返回true    """    try:        conn = psycopg2.connect(database=db_name,user=db_user,password=db_pass,host=db_ip,port=5432)        cursor = conn.cursor()    except Exception,e:        print e        logging.error('数据库连接失败:%s' % e)        return False    try:        cursor.execute(sql,data)        conn.commit()   #提交事务    except Exception,e:        conn.rollback()   #如果出错,则事务回滚        logging.error('数据写入失败:%s' % e)        return False    finally:        cursor.close()        conn.close()    return Truedef readDb(sql):    """    连接mysql数据库(从),并进行数据查询,如果连接失败,会把错误写入日志中,并返回false,如果sql执行失败,也会把错误写入日志中,并返回false,如果所有执行正常,则返回查询到的数据,这个数据是经过转换的,转成字典格式,方便模板调用,其中字典的key是数据表里的字段名    """    try:        conn = psycopg2.connect(database=db_name,user=db_user,password=db_pass,host=db_ip,port=5432)        cursor = conn.cursor()    except Exception,e:        print e        logging.error('数据库连接失败:%s' % e)        return False    try:        cursor.execute(sql)        data = [dict((cursor.description[i][0], value) for i, value in enumerate(row)) for row in cursor.fetchall()]     #转换数据,字典格式    except Exception,e:        logging.error('数据执行失败:%s' % e)        return False    finally:        cursor.close()        conn.close()    return data

 

转载地址:http://xbbsl.baihongyu.com/

你可能感兴趣的文章
字符编码
查看>>
Git学习-Git时光机之版本回退(二)
查看>>
POJ 3080, Blue Jeans
查看>>
[翻译] V8引擎的解析
查看>>
C# 数据库连接字符串拼接
查看>>
css
查看>>
【算法】8 图文搭配诠释三种链表及其哨兵
查看>>
JS判断input输入类型
查看>>
JS获取IP、MAC和主机名的几种方法
查看>>
全国高校绿色计算大赛 预赛第二阶段(Python)
查看>>
C++中的struct和class的区别
查看>>
Jenkins学习之——(4)Email Extension Plugin插件的配置与使用
查看>>
.NET Core玩转机器学习
查看>>
HDU 5739 Fantasia
查看>>
Ubuntu14.04安装JDK
查看>>
[HIHO] 1048 铺地板
查看>>
jquery中$(document).ready()和onload用法区别详解介绍
查看>>
[七]基础数据类型之Float详解
查看>>
深入理解java虚拟机之自动内存管理机制(一)
查看>>
程序设计中的抽象和分层思想
查看>>