MySQL データベース サーバーを管理する際、最も頻繁に行う作業の 1 つは、環境に慣れることです。 これには、サーバーに存在するデータベースの一覧表示、データベース テーブルの表示、またはユーザー アカウントとその権限に関する情報の取得が含まれます。
この記事では、コマンド ラインを使用して MySQL または MariaDB データベースのテーブルを一覧表示する方法を示します。
Show MySQL Tables #
MySQLデータベースのテーブルの一覧を取得するには、mysql
クライアントツールを使用してMySQLサーバーに接続し、SHOW TABLES
コマンドを実行します。
MySQLサーバーにアクセスします:
mysql -u user -p
MySQLシェル内で、USE
ステートメントを使用してデータベースに切り替えます:
USE database_name;
以下のコマンドを実行して、現在のデータベース内のすべてのテーブルとビューのリストを取得します。
SHOW TABLES;
出力は次のようになります:
オプションの FULL
モディファイアを使用すると、テーブルの種類が2番目の出力列として表示されます。
SHOW FULL TABLES;
出力は次のようになります:
データベースに切り替えずにテーブルの一覧を表示するには、FROM
IN
句の後にデータベース名を使用します。
SHOW TABLES FROM database_name;
LIKE
SHOW TABLES
コマンドの出力をフィルタリングするために使用できます。
SHOW TABLES LIKE pattern;
例えば、次のステートメントは、名前が「open」で始まるすべてのデータベースを返します。
SHOW TABLES LIKE 'permissions%';
+-------------------------------------------+| Tables_in_database_name (permissions%) |+-------------------------------------------+| permissions || permissions_roles || permissions_users |+-------------------------------------------+3 rows in set (0.00 sec)
パーセント記号(%
)は、0、1、または複数の文字を意味します。
コマンドラインからMySQLのテーブルを表示する #
Linuxのシェルからテーブルの情報を取得するには、データベースとテーブルの情報を表示するmysql -e
mysqlshow
コマンドを使用します。
これは、シェルスクリプトを使ってMySQLデータベースを操作したい場合に、特に有効です。
ターミナル上で次のコマンドを実行すると、すべてのデータベースの一覧が表示されます:
mysql -u user -p -e 'SHOW TABLES FROM database_name;'
出力にはすべてのテーブルの一覧が表示されます。
+----------------------------+| Tables_in_database_name |+----------------------------+| actions || permissions || permissions_roles || permissions_users || roles || roles_users || settings || users |+----------------------------+
mysqlshow
コマンドを使用した例を以下に示します:
mysqlshow database_name
grep
コマンドで出力をフィルタリングすることができます。
結論 #
MySQLデータベースのテーブルに関する情報を取得するには、SHOW TABLES
コマンドを使用します
。