问题标签 [pymysql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
79470 浏览

python - 使用python写mysql查询到csv,需要显示字段名

我有以下内容:

这会产生乱码。我熟悉使用打印记录 [0] 等。不知道我应该如何设置格式。生成类似于控制台中查询的内容。我不能从 mysql 服务器做一个简单的 INTO OUTFILE。


更新

已经8年了;我仍然偶尔会收到有关此问题的更新或查询。

正如一些评论中所述,我正在寻找来自 DBAPI 的 cursor.description

这是 Python 3 中更现代的示例,使用pymysql驱动程序连接到MariaDB,它将选择所有行并将其提取到一个元组中,将行标题/描述放入一个列表中。然后我将这两个数据结构合并到一个列表中,写入一个 csv 文件

标题名称是结果列表中的第一个条目;以线性方式将结果写入文件可确保行标题是 CSV 文件中的第一行。

0 投票
5 回答
53836 浏览

python - 什么是 PyMySQL,它与 MySQLdb 有何不同?它会影响 Django 部署吗?

我刚刚通过使用 PyMySQL 而不是 MySQLdb 解决了我的 Django 1.3 应用程序中的一些问题。我按照本教程了解如何进行切换:http ://web-eng-help.blogspot.com/2010/09/install-mysql-5-for-python-26-and.html

现在我想知道 PyMySQL 实际上是什么以及它与 MySQLdb 有何不同。

我在 localhost 上使用它,然后将其上传到某个主机。

在本地主机上使用 PyMySQL 并托管它们提供的任何东西都可以吗?由于我已将base.py和introspection.py中的“MySQLdb”更改为“PyMySQL”,是否需要在更改这些文件后将其上传到服务器?或者因为它是Django的文件,既然Django已经上传到那里,那没关系吗?

0 投票
1 回答
4481 浏览

python - pymysql callproc() 似乎会影响后续选择

我正在尝试将代码库从使用 MySQLdb 转换为 pymysql。我遇到以下问题,想知道是否有人见过类似的东西。

简而言之,如果我通过 pymysql 游标 callproc() 方法调用存储过程,则通过使用相同或不同游标的 execute() 方法进行的后续“选择”调用会返回不正确的结果。我看到 Python 2.7.2 和 Python 3.2.2 的结果相同

callproc() 方法是否以某种方式锁定了服务器?代码如下所示:

我可以取消注释上面的 close() 和游标创建调用,但这不会改变结果。如果我注释掉 callproc() 调用,则 select 语句可以正常工作。

0 投票
1 回答
25555 浏览

python - pyMySQL 设置连接字符集

我正在使用 Flask 和 MySQL 开发一个相当简单的网络应用程序。

我正在努力使用 unicode。用户有时会粘贴他们从 Word 中复制的内容,而旧的智能引号会导致这些内容失效u'\u201c'

一点点调查表明,我与 MySQL 的连接正在使用Latin1字符集(似乎是默认值)。

如何指定它使用 unicode 进行连接?

我正在使用 pyMySQL,它声称是 MySQLdb 的替代品。MySQLdbset_character_set(self, charset)为对象定义了一个函数connection,但 pyMySQL 没有(如果我尝试会出错)。

0 投票
3 回答
18908 浏览

mysql - 如何在 Python3 中将输入转义到 MySQL 数据库?

如何在 Python3 中将输入转义到 MySQL 数据库?我正在使用 PyMySQL 并且工作正常,但是当我尝试执行以下操作时:

'如果字符串有or ,它将不起作用"。我也试过:

问题在于库(PyMySQL)使用 Python2.x, 的格式化语法%,这不再有效。我也找到了这个可能的解决方案

这里,但我不知道在哪里添加此代码。这就是我得到的全部:

编辑:我解决了!在 PyMySQL 中正确的方法是这样的:

text = conn.escape(request[1])行是转义代码的地方。在 PyMySQL 代码中找到它。在那里,request[1]是输入。

0 投票
0 回答
543 浏览

mysql - mysql和pymysql一起玩疯了

我对 mysql 5.5、python 2.7、pymysql、os x 10.6.8 有一些非常奇怪的事情

我有一个 mysql 表 id,名称,模糊。我已经生成了一个 python 列表,比如

然后我想更新模糊字段:

执行代码后,我收到任何错误,这对我来说确实意味着,查询已成功执行,没有插入。数据库中没有发生任何变化,但最奇怪的是,在 python 代码执行后,Mysql 服务器不再执行来自任何客户端的任何更新查询:

超过锁定等待超时;尝试重启事务

我只能成功执行选择查询。实际上,必须重新启动 mysql 服务器,然后才能成功执行更新查询,但是一旦我运行 python 查询代码,播放就会重新开始。

我也在窗口机器上的 mysql 服务器上尝试了这个,结果相同。我还尝试使用 MySqlDb 更改 pymysql 也得到相同的结果。

0 投票
0 回答
96 浏览

python - 源引擎中的 Apache2 和 Python

我是一名 Eventscripts 开发人员 (www.eventscripts.com),使用 Python 编写代码。这是反恐精英来源。但这并不重要。

我有一个带有 mysql 的本地 xampp apache2 服务器。我同时启动了 mysql 和 apache 来使用 phpMyAdmin。我正在编写一个小的 Admin-Script/Plugin 脚本,其中用户管理是通过 MySQL 完成的。

总而言之,这似乎不是问题,我想。我正在使用“pymysql”和 Python 2.7。我成功连接到 mysql,这是我的简单 mysql 类:

所以这门课基本上是有效的,写得不好——但有效。注意:es.dbgmsg(LEVEL, MESSAGE) - 将消息打印到控制台,就像打印一样。

现在这是基本信息!

现在我们来解决我的问题! 情况:我与我的服务器(python、mysql 类)连接,同时我尝试将数据添加到我的数据库中。但是当我点击“好的”时,它什么也不做,网站加载无限时间。但是,如果我关闭我的服务器(断开 python 与 mysql 的连接)它会立即完成并添加该行。

我能做些什么来解决这个问题?

0 投票
1 回答
716 浏览

mysql - mysql 5.5 utf-8 排序规则 utf8_unicode_ci, pymysql

我在 os x 上遇到了 mysql 5.5 的问题。我正在开发一个多语言项目并使用 MyISAM 表。默认字符集是 utf-8 和默认排序规则 utf8_unicode_ci。

意大利语和德语很好,但西班牙语不是。我正在使用 python 来操作数据,pymysql 驱动程序带有 utf-8 的字符集选项和 unicode true。

几乎所有特定的西班牙语字母都是一团糟。

从 python 外壳:

我真的很困惑,它显然似乎是同一个 unicode 字符串!

谢谢。

0 投票
1 回答
1747 浏览

python - PyMySQL:查询大量行失败

我正在使用 PyMySQL 执行一个非常简单的查询:

records其中有超过 150 万行。id是主键。

这是 PyMySQL 的限制吗?如果我一次查询这么多行,还有什么我应该使用的吗?

0 投票
2 回答
2719 浏览

python - 当我尝试使用 pymysql 插入大 blob 时管道损坏

我有一个基于烧瓶的网络应用程序,允许用户上传文件。文件存储在 mysql 数据库中。

这工作正常,直到文件大于大约 16Mb,插入失败并显示以下内容:

当文件大小似乎与 mySQL 设置匹配时,我很兴奋max_allowed_packet,所以我将其更改my.cnf并重新启动,但它没有帮助。(show variables like 'max_allowed_packet'显示新值150M)

该文件肯定会上传到服务器,我在我的插入方法中放入了一些代码,以便在运行查询之前将文件写入磁盘并且文件没问题。

插入 blob 的字段是一个 longblob,负责插入的代码是:

我现在有点不知所措,大约一周前我确实找到了一些建议文件需要分段插入的东西,但我现在找不到(我被我的实际工作分心了! ) 而且我不知道如何将它分块插入。

我真的很感激这方面的帮助!