ウェブサイト検索

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


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

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

サーバー上のすべてのデータベースを表示するには、次のコマンドを発行します。


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

次に、データベース tecmintdbtutorials という名前のデータベース テーブルを作成するには、以下のコマンドを実行します。


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 データベースをバックアップおよび復元する方法

他にコミュニティの他の人々と共有したいヒントはありますか?その場合は、以下のコメントフォームを使用してください。

それ以外の場合は、これまで検討してきたさまざまなヒントについて、またはそれぞれのヒントを改善するために何を追加できるか、またはできる可能性があるかについて、お気軽にご意見をお聞かせください。お返事おまちしております!