网站搜索

如何直接从 Linux 命令行运行 MySQL/MariaDB 查询


如果您负责管理数据库服务器,您可能有时需要运行查询并仔细检查它。虽然您可以从 MySQL/MariaDB shell 执行此操作,但本技巧将允许您直接使用 Linux 命令行执行 MySQL/MariaDB 查询并将输出保存到供以后检查的文件(如果查询返回大量记录,这特别有用)。

让我们先看一些直接从命令行运行查询的简单示例,然后再进行更高级的查询。

要查看服务器上的所有数据库,您可以发出以下命令:


mysql -u root -p -e "show databases;"

接下来,要在数据库 howtoingdb 中创建名为 tutorials 的数据库表,请运行以下命令:


mysql -u root -p -e "USE tecmintdb; CREATE TABLE tutorials(tut_id INT NOT NULL AUTO_INCREMENT, tut_title VARCHAR(100) NOT NULL, tut_author VARCHAR(40) NOT NULL, submissoin_date DATE, PRIMARY KEY (tut_id));"

我们将使用以下命令并将输出通过管道传输到 tee 命令,后跟我们要存储输出的文件名。

建议阅读: Linux 中数据库管理的 20 个 MySQL/MariaDB 命令

为了便于说明,我们将使用名为 employees 的数据库以及 employeessalaries 表之间的简单联接。对于您自己的情况,只需在引号之间键入 SQL 查询,然后按 Enter

请注意,系统将提示您输入数据库用户的密码:


mysql -u root -p -e "USE employees; SELECT DISTINCT A.first_name, A.last_name FROM employees A JOIN salaries B ON A.emp_no = B.emp_no WHERE hire_date < '1985-01-31';" | tee queryresults.txt

借助cat命令查看查询结果。


cat queryresults.txt

通过纯文本文件中的查询结果,您可以使用其他命令行实用程序更轻松地处理记录。

概括

我们分享了一些 Linux 技巧,作为系统管理员,在自动化日常 Linux 任务或更轻松地执行这些任务时,您可能会发现这些技巧很有用。

建议阅读: 如何备份和恢复 MySQL/MariaDB 数据库

您还有其他建议想与社区其他人分享吗?如果是这样,请使用下面的评论表进行操作。

否则,请随时告诉我们您对我们已经研究过的各种提示的想法,或者我们可以添加或可能做些什么来改进每个提示。我们期待您的回音!