绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Postgresql 有了 psycopg2 操作测试更方便(一)
2020-02-24 14:30:16

随着对DB们的要求越来越高,测试,查找问题,监控,做一些比较复杂的事情,没有程序来加入,模拟一些比较复杂的应用环境,则事情会比较难搞。并且每种数据库通过python操作都依赖于引入的与此数据库有关的PYTHON 包。 弄得现在人人都会python 但实际上,在语法以及基础python知识以外,每个 api 的使用则是你用好这个通用工具,展现他的能力的基础。所以精通每个数据库的API for python 就是你是否能用好 python来驱动数据库的基础。


Python  与 PostgreSql 之间的操作连接就是 psycopy2 ,今天来说说怎么通过psycopy2 来和postgresql 进行沟通。


 首先就需要进行连接,下面的操作基于python3 以及pycharm


请在pycharm中安装 psycopg2 包,版本是2.8.4


上面是一段标准的连接代码


其中要与postgresql进行连接,必须使用connect()方法来进行

,然后创建一个cursor 游标来执行你要执行的pgsql。

一个连接必要的几个步骤(别的数据库也差不多)

1 建立连接

2 判断连接是否成功,捕捉错误,如果不成功就报错(有的数据库不这样,回来说说这个倒霉的数据库+ 他的DB API)

3 不在使用,关闭这个连接


接入 psycopg2 的 error 是为了在操作过程中如果有错误可以通过这个模块来将handle 错误,让程序的完善一些。

connection.cursor()我们可以创建一个cursor对象,它允许我们通过Python源代码执行PostgreSQL命令。
我们可以从一个连接对象创建任意多的游标。同一连接创建的游标不是孤立的,游标对数据库所做的任何更改都可以立即被其他游标看到。

下面是一些常用的操作方法

cursor.execute()  执行execute 方法执行数据库的操作。

对于查询结果进行展示的不同方法

fetchone()

fetchmany()

fetchall()


在了解了上面的一些事情后,下面就开始对数据库进行简单的一些操作


如何在创建一个表,并且判断这个表是否存在,如果存在就报错,否则就创建

使用到了

psycopg2.DatabaseError 


下面代码创建测试表,一次性创建 500张



基本的操作会了,先我们需要一个测试

1 建立500张表

2 在每张表中开始插入数据,并且不能重复

3 在插入数据的同时,进行UPDATE 操作


下面就是这段代码

其中在操作DML 语句中



值得说一下的是其中的带参在语句中使用 %s 带参,在执行的时候,按照%s的

顺序带入实际的值,或者变量。


由于公众号中的自动将贴入的代码截断,并且格式也有变化,以上代码可以在

下面的,QQ群的文件中,如有需要可以自取。





分享好友

分享这个小栈给你的朋友们,一起进步吧。

数据库杂货铺
创建时间:2021-12-10 09:57:47
分享数据库管理,运维,源代码 ,业界感受, 吐槽
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • liuaustin
    栈主

小栈成员

查看更多
  • miemieMIA
  • 578154454
  • ylfxml
戳我,来吐槽~