ウェブサイト検索

LinuxコマンドラインからMySQL/MariaDBクエリを直接実行する方法


データベースサーバーの管理を任されている場合、時にはクエリを実行して慎重に検査する必要があります。MySQL/MariaDB シェルからそれを行うことができますが、このヒントを使えば、Linuxコマンドラインを使用してMySQL/MariaDBのクエリを直接実行し、出力をファイルに保存して後で検査することができます(これは、クエリが大量のレコードを返す場合に特に便利です)。

より高度なクエリに進む前に、コマンドラインから直接クエリを実行するいくつかの簡単な例を見てみましょう。

サーバー上のすべてのデータベースを表示するには、次のコマンドを入力できます:


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

次に、データベースtecmintdbに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データベースのバックアップと復元の方法

他のコミュニティメンバーと共有したい他のヒントはありますか? ある場合は、下のコメントフォームを使用してお知らせください。

そうでなければ、私たちが見てきた様々なヒントについてのあなたの考えや、追加できること、またはそれらを改善するためにできることについて自由に教えてください。お返事をお待ちしています!

関連記事: