写代码时遇到了个小坑,使用excute向数据库插入字符串时"."和":"一直报错。
查阅官方文档,我们可以看到官方的操作:

cur.execute("INSERT INTO foo VALUES (%s)", "bar")    # WRONG
cur.execute("INSERT INTO foo VALUES (%s)", ("bar"))  # WRONG
cur.execute("INSERT INTO foo VALUES (%s)", ("bar",)) # correct
cur.execute("INSERT INTO foo VALUES (%s)", ["bar"])  # correct`

不直接使用python提供的插值语法,而是将元组作为参数传入!并且在最后一个数据后面要添加一个","。才能保证元组正确识别。

Warning Never, never, NEVER use Python string concatenation (+) or string parameters interpolation (%) to pass variables to a SQL query string. Not even at gunpoint.

警告 永远不要使用python字符串连接符号“+”或者变量插值符号“%”对SQL查询语句传参。即使有人用枪指着你也不要。

官方文档可以在这里查看: https://www.psycopg.org/docs/usage.html#adaptation-of-python-values-to-sql-types

在insert into 的 候, 报错 语法错误,某个字符附近,这个 候,你就要看看是不是有特殊字符,我的 sql 中存在单引号这样的字符,报的错。在 SQL 中,一个单引号由另一个单引号转义,只要用'单引号转义就可以了,我在postger sql ,dm,kingbase都测试过,可以解决问题。 ( psycopg2 .errors.SyntaxError) syntax error at or near "\" "Details": "Example: Replace \'\'John\'\'s... inser
该系列暂 总共有3篇文章,连接如下 【 python 】爬虫篇: python 连接 postgresql (一):https://blog.csdn.net/lsr40/article/details/83311860 【 python 】爬虫篇: python 对于html页面的解析(二):htt...
之前写过 python 连接 postgresql 的方法,今天在网上详细总结了一下 psycopg2 的使用方法 使用*.ini文件( python 的configparser包可以解析这种类型的配置文件)保存 数据 库连接的配置信息。 使用 psycopg2 .connect函数获得connection对象。 使用connection对象创建cursor对象。 使用cursor对象执行 sql 语句提交或者回滚transaction。 使用cursor对象fetchone获得查询结果。 关闭cursor对象和connec
$ apt-get install postgresql 安装好之后, PostgreSQL 会创建一个名为postgres的系统用户,以及一个同样名字的 数据 库管理员角色,以及一个同样名字的 数据 库。 通过cat /etc/passwd列出系统中所
psycopg2 数据 批量 插入 问题记录 由于最近用到greenplum,需要进行一些 数据 库批量 插入 操作,由于其操作方式与 postgresql 相同,因此采用的是 psycopg2 (2.8.4) 做底层驱动。 由于 数据 量较大,所以采用了批量 插入 操作,也就是其自带的executemany,从名字来看会给我们其真的是批量 插入 的错觉(搜了下,大部分搜索结果也是说批量 插入 使用该操作,坑~(⊙﹏⊙)),但是,实际...
导入与创建连接 import psycopg2 conn = psycopg2 .connect(database='dbschool', user='postgres', password='admin', host='127.0.0.1', port='5432') cur = conn.cursor() connection connection提供了常用的 数据 库操作: 1)使用 psycopg2 -2.4.2.win-amd64-py2.7-pg9.0.4-release.exe安装,下载地址:http://vdisk.weibo.com/s/Cd8pPaw56Ozys 直接运行exe,不出错误,运行上边代码验证代码无错误,基本算是安装完成了。 2)怎么卸载? 2.1)找到安装目录:C:\ Python 27,发现下边...
在使用cmd安装 psycopg2 出现 报错 可能是由于以下几种原因: 1. 缺少依赖项: psycopg2 是一个基于 Python PostgreSQL 数据 库适配器,在安装之前,需要确保已经正确安装了 Python 和相应的 PostgreSQL 驱动。如果缺少依赖项,可以先安装相应的依赖项再进行安装。 2. 环境变量配置错误:在安装之前,需要先将 Python PostgreSQL 的可执行文件路径添加到系统的环境变量中,确保cmd能够正确识别这些命令。可以在"我的电脑"->"属性"->"高级系统设置"中找到"环境变量",在"系统变量"中添加或修改"Path"变量。 3. 代理问题:如果网络使用了代理,可能会导致cmd无法正常连接到网络以下载安装包。可以尝试使用代理服务器,或者通过设置代理环境变量来解决此问题。 4. 安装源问题:在cmd中通过pip进行安装 ,默认使用的是 Python 官方的安装源。但由于网络原因,可能无法正常连接。可以尝试使用其他镜像源,例如豆瓣源、清华源等,可以通过在cmd中执行命令"pip install psycopg2 -i https://pypi.douban.com/simple"来使用豆瓣源进行安装。 总之,要解决cmd安装 psycopg2 报错 ,需要检查是否有缺少依赖项、正确配置环境变量、排除网络代理问题,并选择合适的安装源。希望以上的解答能对您有所帮助。 ### 回答2: 在使用cmd安装 psycopg2 ,如果出现 报错 ,可能是由于以下几个原因: 1. 版本不兼容: psycopg2 有一个特定的版本要求,可能与您的 Python 版本不兼容。您可以尝试查看 psycopg2 的官方文档,确认与您当前使用的 Python 版本兼容的 psycopg2 版本,并尝试安装兼容版本的 psycopg2 。 2. 缺少依赖项: psycopg2 可能依赖于其他库或软件包。请确认您是否已经安装了这些依赖项。例如,在Windows系统上,您可能需要先安装Visual C++ Build Tools。 3. 网络问题:如果您使用的是在线安装方式,可能由于网络问题导致无法下载或安装 psycopg2 。您可以尝试更改下载源或等待网络恢复正常后再次尝试安装。 4. 操作系统不兼容:有 psycopg2 可能不支持您当前使用的操作系统。请确保您的操作系统与 psycopg2 的兼容要求一致。 如果您仍然无法解决问题,我建议您查看 报错 信息,并尝试在错误信息中搜索相关解决方案。目前没有提供具体 报错 信息,因此难以给出更具体的解答。但我希望上述的几点可以帮助您理解并解决您遇到的问题。 ### 回答3: 在使用cmd安装 psycopg2 ,如果出现错误,可能是由于以下原因引起的。 1. 缺少依赖: psycopg2 是一个用于连接 PostgreSQL 数据 库的 Python 库,它依赖于 PostgreSQL 的开发包。如果你的系统中没有安装 PostgreSQL 或者相关的开发包,那么在安装 psycopg2 就会 报错 。你可以尝试去 PostgreSQL 官网下载并安装对应版本的开发包。 2. Python 环境配置问题:有 候,cmd可能无法正确找到 Python 的安装路径,从而导致无法找到 psycopg2 的安装文件。你可以尝试在cmd中手动进入 Python 的安装路径,然后再试着安装 psycopg2 。 3. 版本兼容性问题:有 候, psycopg2 的版本与你的 Python 版本不兼容,导致安装 报错 。你可以尝试更新 Python 到最新的稳定版本,然后再重新安装 psycopg2 。 4. 网络问题:有 候,由于网络问题,cmd无法正确下载 psycopg2 的安装文件,从而导致安装失败。你可以尝试连接一个良好的网络,然后再重新安装 psycopg2 。 如果你在尝试这些方法之后仍然无法解决问题,建议你在安装过程中查看 报错 信息,以便更好地定位问题所在。另外,你也可以尝试在 Python 的交互环境中使用pip命令来安装 psycopg2 ,因为有 候它比cmd更容易解决一些依赖问题。 [中文翻译]The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode