从 Python 连接 PostgreSQL 的最著名的库可能是 psycopg2 。psycopg2 是一个简单易用的库,适合想要简单操作 SQL 的人。用法基本上很简单,但是当我尝试通过 psycogpg2 将记录写入 PostgreSQL 时,我被卡住了。在这里,我写了一个这样的查询。

import psycopg2
conn = psycopg2.connect(host=pg_credential.hostname,
                        port=pg_credential.port,
                        user=pg_credential.username,
                        password=pg_credential.password,
                        database=pg_credential.path[1:]) # To remove slash
cursor = conn.cursor()
cursor.execute("INSERT INTO a_table (c1, c2, c3) VALUES(%s, %s, %s)", (v1, v2, v3))
cursor.close()
conn.close()

但我看不到任何数据 a_table 。查询本身似乎很好,因为我们可以插入查询。为什么数据没有正确插入?我花了一些时间寻找答案,终于找到了解决方案。

我们需要调用 commit 游标对象。简而言之,我们需要编写如下代码。

import psycopg2
conn = psycopg2.connect(host=pg_credential.hostname,
                        port=pg_credential.port,
                        user=pg_credential.username,
                        password=pg_credential.password,
                        database=pg_credential.path[1:]) # To remove slash
cursor = conn.cursor()
cursor.execute("INSERT INTO a_table (c1, c2, c3) VALUES(%s, %s, %s)", (v1, v2, v3))
conn.commit() # <- We MUST commit to reflect the inserted data
cursor.close()
conn.close()

由于我通常使用 commit 唯一的事务操作,所以我认为当我不使用事务时,没有必要调用它来简单地插入数据。所以那是我的错。我们应该仔细检查文档,尤其是当我们为我们使用新库时。psycopg2 文档在 这里

从 Python 连接 PostgreSQL 的最著名的库可能是psycopg2。psycopg2 是一个简单易用的库,适合想要简单操作 SQL 的人。用法基本上很简单,但是当我尝试通过 psycogpg2 将记录写入 PostgreSQL 时,我被卡住了。在这里,我写了一个这样的查询。import psycopg2conn = psycopg2.connect(host=pg_credential.hostname, port=pg_crede PostgreSQL 是一款功能强大的开源对象关系型数据库管理系统。用于安全地存储数据,支持最佳操作,并允许再处理请求时检索它们。 PostgreSQL 是跨平台的,可以在许多操作系统上 运行 ,如Linux,FreeBSD,OS X,Solaris和Microsoft Windows等。 下载地址:https://www. postgresql .org/download/ 二、安装步骤 (1)首...
文章目录 Python 操作 PostgreSql 数据库(批量的增删改查)psyco pg 2批量操作增1.数据有2种格式 Python 操作 PostgreSql 数据库(批量的增删改查) 上一节讲到了 python 操作 pg 的基本用法,但这并不能满足我们操作大量数据的美好心愿,这一节主要讲如果 使用 pyhton进行批量的增删改查操作 psyco pg 2 官方文档传送门: http://initd.org/psyco...
# 连接 数据库 conn = psyco pg 2.connect(database='test',user='postg', password='y0',host='10.13.108.5',port='5432') cursor = conn.cursor() #创建一个游标 #execuet方法是针对数据库的请求 cursor.execute('create table test_1(id int,name varchar(20) ) class PostgresConn(object): def __init__(self, db_conn_config, log_info_file, log_error_file): self.db_conn_config = db_conn_config self.log_info_fil. # 连接 数据库 conn = psyco pg 2.connect(database = 'name', user = 'admin', password = '123456', host = '10.10.10.10', port = '5432') curs=conn.cursor() #编写 Sql ,只...
文章目录 Python 操作 PostgreSql 数据库(基本的增删改查)psyco pg 2简单的增删改查 连接 增查改删补充,增加的字段带有时间格式 Python 操作 PostgreSql 数据库(基本的增删改查) 操作数据库最快的方式当然是直接用 使用 SQL 语言直接对数据库进行操作,但是偶尔我们也会碰到在代码中操作数据库的情况,我们可能用ORM类的库对数控库进行操作,但是当需要操作大量的数据时,ORM的数据显的...
以前没写过 sql ,后来由于项目需要简单了用了一点, sql 的语法格式规范,还挺有趣。 1.安装psyco pg 2 python 操作 pg SQL 需要安装这个包,可以直接用pip3 install psyco pg 2即可。 2. 读取整个表 # 连接 数据库需要提供相应的数据库名称、用户名、密码、地址、端口等信息 conn=psyco pg 2.connect(database=db,user=user,passw...
好的,我可以帮你写一个 Python 连接 Postgre数据库并将结果写入My SQL 库的代码。在写代码之前,我们需要确保你已经安装了以下几个模块: 1. psyco pg 2 - 用于 连接 PostgreSQL 数据库的模块 2. My SQL Connector - 用于 连接 My SQL 数据库的模块 在安装这两个模块之后,我们就可以开始写代码了。首先,我们需要 连接 PostgreSQL 数据库,然后执行一条 SQL 语句 。下面是 连接 PostgreSQL 数据库并执行 SQL 语句 的代码: ``` python import psyco pg 2 # 连接 PostgreSQL 数据库 conn = psyco pg 2.connect( host="localhost", database="mydatabase", user="user", password="password" # 创建游标 cur = conn.cursor() # 执行 SQL 语句 cur.execute("SELECT * FROM mytable") # 获取 SQL 查询的结果 result = cur.fetchall() # 关闭游标和 连接 cur.close() conn.close() 接下来,我们需要 连接 My SQL 数据库,并将 PostgreSQL 查询的结果写入My SQL 。下面是 连接 My SQL 数据库并将数据写入的代码: ``` python import my sql .connector # 连接 My SQL 数据库 conn = my sql .connector.connect( host="localhost", database="mydatabase", user="user", password="password" # 创建游标 cur = conn.cursor() # 将 PostgreSQL 查询的结果写入My SQL for row in result: cur.execute(" INSERT INTO mytable (column1, column2, column3) VALUES (%s, %s, %s)", row) # 提交事务