LINEで現役エンジニアに直接質問してみよう!登録無料

MySQLでデータベースの一覧を確認する方法(SHOW DATABASES)

MySQLのデータベース一覧を確認するには「SHOW DATABASES」コマンドを使います。

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.08 sec)

SHOW DATABASESの基本

下記のコマンドでデータベース一覧を確認出来ます。最後のセミコロン(;)をつけるのを忘れないでください。

SHOW DATABASES;

SHOW DATABASESの実行してみる

実際にMySQLサーバーに接続してから実行しましょう。MySQLへのユーザー名とパスワードが、

だった場合、

$ mysql -u root -p

を実行した後、Enter password:の後ろに[email protected]を入力してEnterを押すと接続出来ます。

接続できると、mysql>が表示されるので、下記コマンドを実行してみましょう!

SHOW DATABASES;

コマンドを実行すると、下記のようにデータベース一覧を確認出来ます。

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.08 sec)

ここまでが「SHOW DATABASES」の基本です。

この後は、データベース一覧の絞り込みなどの深い知識を解説します。

データベース一覧の絞り込み

LIKEを使うと、データベース一覧の絞り込みを行うことが出来ます。

SHOW DATABASES LIKE パターン;

例えば、先頭にmyが付くデータベースを検索するには、下記のようなコマンドです。%は一文字以上の文字列を表します。これをパターンマッチングといいます。

mysql> SHOW DATABASES LIKE 'my%';
+----------------+
| Database (my%) |
+----------------+
| mysql          |
+----------------+
1 row in set (0.00 sec)

また、%以外の文字として_が使用できます。_は1つの文字を表します。「mysq+何かしらの一文字」でマッチしたデータベースを表示します。

mysql> SHOW DATABASES LIKE 'mysq_';
+------------------+
| Database (mysq_) |
+------------------+
| mysql            |
+------------------+
1 row in set (0.00 sec)

%_は後ろだけではなく、前に持って来て検索することも出来ます。

mysql> SHOW DATABASES LIKE '%schema';
+--------------------+
| Database (%schema) |
+--------------------+
| information_schema |
| performance_schema |
+--------------------+
2 rows in set (0.00 sec)

これらの情報はリファレンス(英語)で詳しい情報を確認することが出来ます。

まとめ

  • データベース一覧を確認する時はSHOW DATABASES
  • データベースの絞り込みにはLIKEを使う
  • LIKEのパターンマッチングには%_が使える

以上、SHOW DATABASESの使い方をアキ(@hackablejp)が解説しました!

この記事を書いた人

自身がプログラミングを独学で勉強し始めて躓いた経験を元に、これから勉強をする人に向けに「イラスト多めでわかりやすい記事」にこだわって情報を発信しています。

現在はフルスタックエンジニアとしてサービス開発などのお仕事をしています。