MySQL データベースを一覧表示する方法 (ステップバイステップのコード チュートリアル)
公開: 2022-10-22MySQL は、今日最も広く使用されているリレーショナル データベース管理システム (RDBMS) の 1 つです。 これは、主に構造化照会言語 (SQL) を使用して、スケーラブルなデータベースを作成および管理できる堅牢なデータベース プラットフォームです。
MySQL サーバーは、データベースが存在する環境であり、データベースにアクセスする場所です。 サーバー管理者は、サーバー上にあるデータベースのリスト、特定のデータベースのテーブルの表示、ユーザーの役割と権限の表示、制約へのアクセスなど、この環境に関する詳細を取得する必要があることがよくあります。
この記事では、コマンド プロンプトを介して MySQL データベースを一覧表示する方法の詳細について説明します。
MySQL データベースを一覧表示するための前提条件
開始するには、ローカル マシンで MySQL サーバーが実行されている必要があります。 MySQL がない場合は、いくつかの方法でインストールできます。
- WAMPServer、XAMPP、MAMP、または MySQL を含むその他のソフトウェア配布スタックをインストールします。
- MySQL インストーラーを公式 Web サイトから直接ダウンロードして実行し、セットアップ プロセスを経て、MySQL サーバーとその他のツールを構成およびインストールします。
コマンド ラインを使用して MySQL コマンドを便利に実行するには、MySQL 実行可能ファイルのパスをシステムの環境に追加する必要があります。 オプション 2 を使用して MySQL をインストールした場合、この手順は不要なので、次のセクションをスキップしてかまいません。
システムの変数環境に MySQL パスを追加する
このセクションでは、Windows コンピューターで XAMPP または WAMP を実行している場合に、MySQL 実行可能パスをシステムの変数環境に追加する方法について説明します。
まず、Windows ファイル エクスプローラーを起動し、 This PCに移動します。 WAMP または XAMPP パッケージ ( C: ) をインストールしたドライブをクリックします。
XAMPP を実行している場合は、 xampp > mysql > binに移動し、フル パスをbinフォルダーにコピーします。 WAMP の場合は、 {your-wamp-version} > bin > mysql > {your-mysql-version} > binからフル パスに移動します。
[スタート] メニューをクリックし、「パス」を検索します。 [システム環境変数を編集する] をクリックします。
次に、[起動と回復] の下の [環境変数] をクリックし、PATH 変数を選択して [編集] をクリックします。
次に、[新規] をクリックして、MySQL 実行可能ファイル (前にコピーしたもの) へのフル パスを貼り付けます。
次に、[ OK ] をクリックして変更を保存します。
パスが追加されたので、ターミナルで MySQL コマンドを実行できます。
MySQL にログイン
MySQL データベースを一覧表示するには、ユーザーがすべてのデータベースへのアクセスを許可されているか、すべてのユーザーにアクセスを許可するグローバルなSHOW DATABASES
権限を設定する必要があります。
コマンド プロンプトからログインする前に、MySQL サーバーが実行されていることを確認します。
mysql -u -p
注: 交換あなたのユーザー名で。 MySQL のデフォルトのユーザー名は
root
で、パスワードは空です (デフォルトではパスワードはありません)。
MySQL サーバー内のデータベースを表示
ログインしたので、 SHOW DATABASES
コマンドを実行して、サーバーに存在する MySQL データベースを一覧表示できます。
SHOW DATABASES;
代わりに、ストレージに存在するすべてのデータベースを取得します。
返された 6 つのデータベースのうち、 information_schema
とperformance_schema
は、MySQL のインストール時に自動的に生成されるデフォルトのデータベースです。
information_schema
データベースは、MySQL サーバーに格納されているデータベースおよびその他のオブジェクト (ビュー、ユーザー権限、テーブル、制約など) に関連するすべての情報を格納する変更不可能なデータベースです。
データベース出力の結果のフィルタリング
以前は、MySQL サーバー上のすべてのデータベースをSHOW DATABASES
で返していましたが、主にサーバー上に多くのデータベースがある場合、データベース出力をフィルター処理する必要があることがよくありました。
LIKE
句は、指定されたパターンに基づいてSHOW DATABASE
の結果をフィルタリングします。 一般的な構文は次のとおりです。
SHOW DATABASES LIKE '';
一致させたいパターンを表す文字列でなければなりません。 文字列は、1 つ以上の文字を表すパーセント記号%
で終わる必要があります。
たとえば、名前が文字w
で始まるデータベースのみを表示する場合は、次のように実行します。
SHOW DATABASES LIKE 'w%';
フィルタリングされた結果は次のとおりです。
情報スキーマを使用してテーブル メタデータをクエリする
前に、 information_schema
データベースが MySQL サーバー環境のデータベース、テーブル、およびその他のオブジェクトに関連するすべての情報を格納する方法を見てきました。
information_schema
データベースは、schema テーブルを使用して、すべてのデータベースに関する情報を格納します。 データベース フィルタリングでは、複雑な検索を実行して、特定のデータベースのスキーマ テーブルをクエリできます。
たとえば、名前が「samp」または「word」で始まるデータベースが必要な場合は、他のいくつかの句を組み合わせて複雑なクエリを作成できます。
SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';
結果は次のとおりです。
さらに、すべてのテーブルに関する情報を含むinformation_schema
データベースからのtables
テーブルがあります。 同様に、クエリを実行して、指定したパターンに一致するテーブルのみを取得できます。
たとえば、次のクエリは、WordPress テーブル (名前が「wp_」で始まるテーブルのみ) のスキーマ情報を返します。
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
結果は次のとおりです。
information_schema
にあるその他のテーブルには、 columns
、 constraints
、 table_constraints
、 check_constraints
、およびreferential_constraints
が含まれます。
一般的な問題とベスト プラクティス
SQL 実行時のエラーの最も一般的な原因の 1 つは、ステートメントの末尾にセミコロンを使用していないことです。
もう 1 つは、無効な SQL 構文を使用しているか、テーブル名または列名のスペルが正しくありません。 これを回避するには、テーブルまたは列の名前をクロスチェックして、スペルが正しいことを確認してください。 構文も必ずクロスチェックしてください。
留意すべきその他のベスト プラクティスを次に示します。
SQL キーワードに大文字を使用する
SQL コードを記述するときは、常に SQL キーワードには大文字を使用し、テーブル名と列名には小文字を使用してください。 これにより、コードが読みやすくなり、エラーが発生しにくくなります。
したがって、これの代わりに:
select * from information_schema.tables where table_name like 'wp_%';
これを行う:
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
SELECT *
SQL クエリでSELECT *
を使用しないでください。 何が返されるかを常に知ることができるとは限らないため、リクエストは不明確です。 代わりに、テーブルから選択する列を指定します。
したがって、これの代わりに:
SELECT * EXCEPT(phone) FROM users.profile
これを行う:
SELECT name, dob, address, country, address, FROM user.profile
コードのインデント
最後に、エラーを見つけやすくするもう 1 つのヒントは、コードをインデントすることです。 より読みやすくなります!
データベース管理者
または、データベース マネージャーを使用して、SQL を記述せずにデータベースを管理することもできます。 これにより、ユーザーは SQL クエリを記述する必要なく、データベース管理機能にアクセスできます。 このソフトウェアは MySQL サーバーに接続し、データベース機能を公開するためのユーザー インターフェイスを提供します。 接続すると、UI にサーバー上のすべてのデータベースが表示されます。 ルック アンド フィールは管理ツールによって異なりますが、プロセスは似ています。

DevKinsta からアクセスできる phpMyAdmin や Adminer など、いくつかのツールから選択できます。 DevKinsta のデフォルトの管理ツールは Adminer で、軽量で簡単、高速ですが、phpMyAdmin には簡単にアクセスできます。
概要
サーバー管理者は、MySQL サーバー上のデータベースに関する詳細を効率的かつ正確に取得できる必要があります。 サーバー上にあるデータベースを確認する機能、特定のテーブルとその中の情報を表示する機能、およびユーザーの役割と特権に関する情報にアクセスする機能はすべて重要なタスクです。 幸いなことに、コマンド ラインから SQL を使用すると、これを簡単に行うことができます。
データベース管理がテーブルのクエリを超えて拡大する必要がある場合、Kinsta が役立ちます。 スケーラブルなデータベース ホスティング オプションの詳細を今すぐご覧ください。