连接postgresql数据库
pip install psycopg2

## 导入psycopg2包
import psycopg2
## 连接到一个给定的数据库
conn = psycopg2.connect(database="postgres", user="postgres",
                        password="postgres", host="127.0.0.1", port="23333")
## 建立游标,用来执行数据库操作
cursor = conn.cursor()

## 执行SQL命令
cursor.execute("DROP TABLE test_conn")
cursor.execute("CREATE TABLE test_conn(id int, name text)")
cursor.execute("INSERT INTO test_conn values(1,'haha')")

## 提交SQL命令
conn.commit()

## 执行SQL SELECT命令
cursor.execute("select * from test_conn")

## 获取SELECT返回的元组
rows = cursor.fetchall()
for row in rows:
    print 'id = ',row[0], 'name = ', row[1], '\n'

## 关闭游标
cursor.close()

## 关闭数据库连接
conn.close()

参数化查询
#list参数化查询
#sql = "select * from pg_tables where schemaname=%s and tablename=%s"
#csor.execute(sql, ['internal_app_bsaata', 'event_ip_real'])
#dict参数化查询
sql = "select * from pg_tables where schemaname=%(db_name)s and tablename=%(tb_name)s"
csor.execute(sql, {'db_name':'internal_app_bsaata', 'tb_name':'event_ip_real'})

##多条数据处理
namedict = ({"first_name":"Joshua", "last_name":"Drake"},
            {"first_name":"Steven", "last_name":"Foo"},
            {"first_name":"David", "last_name":"Bar"})
cur = conn.cursor()
cur.executemany("""INSERT INTO bar(first_name,last_name) VALUES (%(first_name)s, %(last_name)s)""", namedict)

注意:sql执行失败后,需要回滚才能继续执行后面的sql

    try:## 执行SQL命令dbconn.cursor.execute(sql)## 提交SQL命令dbconn.conn.commit()except Exception as e:dbconn.conn.rollback()logging.exception(e)    # 方式2

-----------自己写的dbhelper.py

# coding:utf-8
import loggingimport psycopg2def dbconn(config):dbconn.conn = psycopg2.connect(database=config["database"], user=config["user"],password=config["password"], host=config["host"],port=config["port"])## 建立游标,用来执行数据库操作dbconn.cursor = dbconn.conn.cursor()def exec_sql(sql):#print sqltry:## 执行SQL命令dbconn.cursor.execute(sql)## 提交SQL命令dbconn.conn.commit()except Exception as e:dbconn.conn.rollback()logging.exception(e)    # 方式2def exec_sql_muti(sql,params):#print sqltry:## 执行SQL命令dbconn.cursor.executemany(sql,params)## 提交SQL命令dbconn.conn.commit()except Exception as e:dbconn.conn.rollback()logging.exception(e)    # 方式2def query(sql):print sqldbconn.cursor.execute(sql);return dbconn.cursordef dbclose():dbconn.cursor.close()dbconn.conn.close()

python连接postgresql数据库相关推荐

  1. Python连接postgresql数据库入门

    关于Python及pycharm的安装参考:1. python+pycharm 安装及测试_Hehuyi_In的博客-CSDN博客_pycharm安装成功测试 首先需要安装 psycopg2模块(已经 ...

  2. python通过ssh通道连接PostgreSQL数据库(mysql等类同)

    目录 一.问题需求 二.解决办法 一.问题需求 对于有ssh通道设置的数据库连接,遇到已经有一段时间了.之前老是疑惑,使用Navicat之类的工具就可以连接数据库,但用python就是连接不到.之前写 ...

  3. python psycopg2使用_python2/3 利用psycopg2 连接postgreSQL数据库。

    psycopg2 是一个通过python连接postgreSQL的库, 不要被它的名称蒙蔽了,你可能发现它的版本是psyconpg2.7.*, 以为它只能在python2上使用,实际上,这只是一个巧合 ...

  4. Python读取postgresql数据库

    目录 一.读取postgresql数据库 二.查询数据 一.读取postgresql数据库 (1)首先,我们需要安装 psycopg 驱动.通过 pip 安装最新的 psycopg pip insta ...

  5. Entity Freamwork 6连接PostgreSql数据库

    原文 Entity Freamwork 6连接PostgreSql数据库 开发环境 VS 2015  Update 1   Postgre Sql 9.4 使用过程 1.使用Nuget在项目中添加对E ...

  6. java编译POSTGRESQL_Java连接PostgreSQL数据库(安装环境 + 简易测试代码)

    --[楼主比较啰嗦, 会列出几个异常情况以供参考]-- 1, 安装环境 1.0 Win7 32位 1.2 编译器:  Spring Tool Suite 3.7.1  官网下载地址:http://sp ...

  7. Python 技术篇-连接oracle数据库并执行sql语句实例演示,python连接oracle数据库oci详细配置方法

    Python 连接 Oracle 数据库 第一章:连接 oracle 数据与环境配置 ① 连接 oracle 数据库效果演示 ② oci 下载 ③ oci 配置 ④ 环境变量配置 ⑤ 检测是否有 or ...

  8. Python连接Oracle数据库,以字典形式返回结果

    众所周知,Python连接Oracle数据库,一般都使用cx_Oracle这个包. 但关键是cx_Oracle这个包,返回的结果,都是元组或者列表. 如以下代码: 1 import cx_Oracle ...

  9. python链接hbase模块_HBase实战(1):使用Python连接Hbase数据库

    来源于 https://blog.csdn.net/duan_zhihua/java/article/details/80622166 使用Python连接Hbase数据库 1,Hbase下载. 下载 ...

最新文章

  1. Android EditView 第一次点击默认不输入
  2. Dubbo和Spring Cloud微服务架构的对比
  3. 监控工具—Prometheus—监控Redis
  4. Java面试——MyBatis系列总结
  5. 诗与远方:无题(十四)
  6. Incorrect string value:\ \ \ \ \for column'trurname' at row 1
  7. php路由有几种,thinkphp3.2框架的四种路由形式
  8. LSH︱python实现局部敏感随机投影森林——LSHForest/sklearn(一)
  9. 亲身经历从软通外包到华为OD,两者有什么区别?
  10. whose size is larger than the fetch size
  11. LOGO特训营 第六节 字体设计实操(矩形钢笔造字)
  12. Nginx反向代理(解决纯前端项目部署到服务器上无法访问接口数据)
  13. vue中的prop验证
  14. kettle启动 carte服务部署
  15. 【C++】常用math函数
  16. 高级搜索:搜索指定网址
  17. 区块链+大数据:万物互联时代的“CP组合”
  18. BIRT 使用说明书
  19. matlab(二)统计图
  20. MAC M1 芯片在 yarn install 时报错:The CPU architecture “arm64“

热门文章

  1. 前端学习(2666):完成vue3.0的todolist编辑
  2. “睡服”面试官系列第十三篇之函数的扩展(建议收藏学习)
  3. 前端学习(624):小结
  4. 前端学习(8):HTML的基本属性和结构
  5. centos7安装DHCP服务器
  6. ls mac 显示最近修改日期_Find Any File for Mac(Mac本地文件搜索工具)
  7. linux的xmgrace无法运行,科学网—安装xmgrace - 林绪波的博文
  8. mysql5.7安装差异_mysql5.7和mysql5.6同在CentOS7.4安装差异对比之5.7.18
  9. (转)深入理解Java中的final关键字
  10. 常见排序查询算法Java代码实现