如何直接从 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
的数据库以及 employees 和 salaries 表之间的简单联接。对于您自己的情况,只需在引号之间键入 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 数据库
您还有其他建议想与社区其他人分享吗?如果是这样,请使用下面的评论表进行操作。
否则,请随时告诉我们您对我们已经研究过的各种提示的想法,或者我们可以添加或可能做些什么来改进每个提示。我们期待您的回音!