0

我想从直接在 Arduino YUN 本身运行的 MySQL 数据库中检索数据。我想不使用 Python,而是直接使用 MySQL 命令和 Process。可能吗?
我在互联网上找到的每一篇文章都是关于“如何使用 python 检索数据”。但我不想使用 python,因为连接做数据库等例程会减慢我的查询速度。
我多次从数据库中检索数据,并且从不同的表中检索数据。所以我将数据检索的逻辑移到了 MySQL 函数中,现在只想使用 Process 类调用这个函数。问题是它直接从 mysql 控制台工作,使用 python 工作,但不能直接工作。当我直接说时,我的意思是:

Process process;
process.begin("python");
process.addParameter("/mnt/sda1/arduino/python/read.py");
process.addParameter(msg);
process.run();

此代码完美运行并使用 python。在 read.py 文件中,我有数据库调用例程。所以我想做同样的事情,但没有 python:

Process process;
process.begin("mysql");
process.addParameter("-u root -parduino --database arduino -e \"select process('my_text')\"");
process.run();

如您所知,此代码示例不起作用。但是如果我通过控制台运行它,相同的 Mysql 脚本可以完美运行,并且比使用 python 快得多。

4

2 回答 2

0

试试Process.runShellCommand。它将接受您的完整陈述作为论据:

Process process;
process.runShellCommand("mysql -u root -parduino --database arduino -e \"select process('my_text')\"");
于 2014-12-27T17:10:29.007 回答
0

您可以使用subprocess模块。

https://docs.python.org/2/library/subprocess.html

使用它,您可以将 mysql 命令发送到终端,就像直接通过 python 脚本发送一样。

于 2014-11-12T09:16:15.017 回答