问题标签 [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 投票
1 回答
1319 浏览

python - 如何防止 PyMySQL 转义标识符名称?

我在 Python 2.7中使用 PyMySQL并尝试执行以下语句:

使用以下参数:

总是导致:

{ProgrammingError}(1064, u"您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在 ''artikel' ('REC_ID', 'odoo_created') 附近使用的正确语法\n
VALUES ('48094', '2014-12-' 在第 1 行")

在我看来,PyMySQL 在格式化期间转义了所有字符串。对于表名和列名等数据库标识符,如何防止这种情况发生?它破坏了语句,因为与表 ( ) 相比,SELECT字符串文字 ( SELECT * FROM "table") 中的 s 是不可能的SELECT * FROM table

0 投票
2 回答
919 浏览

python - 在 Python 客户端程序中保护 MySQL 登录数据

我有一个 Python 客户端程序(可供有限数量的用户使用),它使用 pymysql-Module 从远程 MySQL-DB 获取数据。

问题是每个查看代码的人都可以看到数据库的登录数据,因此每个人都可以操作或删除数据库中的数据。即使我将登录数据存储在加密文件中,有些人仍然可以编辑代码并插入他们自己的 MySql 查询(并再次操作或删除数据)。

那么如何从我的程序中访问数据库并仍然选择、删除或更新其中的数据,但要确保没有人可以执行他自己的(邪恶的)SQL 代码(除了那些使用 GUI 触发的代码)?

0 投票
0 回答
1067 浏览

python - PyMySQL AssertionError:结果长度不是请求的长度

我有一个测试版的 Python 3.4 应用程序,我正在测试它使用 PyMySQL 0.6.3 连接到 MySQL。我偶尔会遇到错误,AssertionError: Result length not requested length。它是一个多线程应用程序,这篇文章Celery 和 SQLAlchemy - 这个结果对象不返回行。它已自动关闭表明它可能是由于线程共享连接,这可能正在发生。我该如何解决这个问题?PyMySQL 不提供帖子中建议的连接池。

0 投票
2 回答
2295 浏览

python - pymysql 连接选择查询和 fetchall 返回具有像 b'25.00' 这样的字节文字而不是像 '25.00' 这样的字符串的元组

我只有在使用连接连接到具有数据库的python script本地测试机器时运行良好。 返回像 ('1', '2015-01-02 23:11:19', '25.00') 这样的元组。MySQL 5.6Windows 8.1pymysqlSelect query / fetchal()

MySQL 5.0.96但是,当我使用相同的脚本稍作修改以包含与服务器上运行的远程生产数据库的第二个连接时Linux,它会返回tuples(b'1', b'2015-01-02 23:11:19', b' 25.00') 并且脚本无法正确运行,因为匹配条件和使用返回的元组的查询失败。

知道为什么,我怎样才能让它返回tuples没有“b”前缀的列值?

0 投票
1 回答
126 浏览

python - python 3.4 condition involving byte literal returns false instead of true

I use python 3.4 and pymysql connection to MySQL DB. I have a select query and then fetchall which returns results into r[]. r[0] is just the first part of the result tuple and its value is an empty string (as it should be based on what is in the DB.)

However, when I use the condition:

the condition evaluates to false, instead of what I was expecting it to be true! I test it to figure out why by printing out the values of the part:

This prints:

Any idea why? This is driving me nuts, because it should not be this hard. What am I missing?

0 投票
1 回答
107 浏览

python - pymysql 无法识别 PuTTY 上的 ®(注册商标符号)

如果我尝试运行包含此行的 python 文件:

腻子给了我错误:

所以它显然无法读取 ® 符号。

我四处搜索,人们说要确定远程字符集是 UTF-8,确实如此。

此外,PuTTY 似乎可以很好地处理符号 - 如果我只是写print "®",那么它会正确打印符号。只有在尝试使用 pymysql 访问 sql server 时,它似乎有问题。

0 投票
1 回答
321 浏览

python - Django + PyMSQL + WSGI

我有一个使用 PySQL 和以下函数访问远程 mysql 库的应用程序

我最近将 Django 从 1.7.1 更新到 1.7.3。在更新代码起作用之前。现在,当我使用 WSGI 进行生产时(不是在本地开发服务器上,也不是在服务器开发服务器上)我得到一个(2003,“无法连接到 [server.address] 上的 MySQL 服务器([Errno 13 ] 没有权限)”)

我已将 pymysql 更新为 pip 上可用的最新版本。

我看到 1.7.3 纠正了 WSGI 中的一些安全问题,我尝试降级到 1.7.2(仅通过执行 pip install django==1.7.2 (不确定这是好方法))并且问题仍然存在。

关于我可以尝试检查什么的任何想法?

预先感谢您的帮助。

0 投票
1 回答
127 浏览

python - 参考pymysql中的记录来搜索

有没有一种简单的方法可以引用 pymysql 中的记录来查看它是否存在于特定数据库的表中?我想搜索特定记录,然后,如果它存在,请引用该特定行/元组中存在的其余属性。

任何帮助将不胜感激我是初学者谢谢

0 投票
1 回答
504 浏览

python - pymysql中的字典错误

我收到以下错误:

运行后:

我查看了其他答案,但它们没有帮助。因此,感谢任何有用的建议,因为我是同时使用 sql 和 python 的初学者,谢谢!

0 投票
2 回答
23298 浏览

python - 在 Python 中模拟 MySQL 数据库

我使用 Anaconda 发行版中的 Python 3.4。在这个发行版中,我找到了pymysql连接到现有 MySQL 数据库的库,该数据库位于另一台计算机上。

我现在想为我的应用程序编写测试代码,我想在setUp每个测试用例中创建一个非常小的数据库,最好是在内存中。但是,当我突然尝试使用 时pymysql,它无法建立连接。

我一直在谷歌搜索,发现了一些关于SQLiteand的东西MySQLdb。我有以下问题:

  1. 是否适合在内存sqlite3MySQLdb快速创建数据库?
  2. 如何MySQLdb在 Anaconda 包中安装?
  3. 是否有在 中创建的测试数据库的示例setUp?这甚至是个好主意吗?

我的计算机上没有本地运行的 MySQL 服务器。