INFORMATION_SCHEMAデータベースを使って現在選択されているデータベースを確認する方法
MySQLで選択されているデータベースを確認する方法
DATABASE() 関数を使う
SELECT DATABASE();
このクエリを実行すると、現在選択されているデータベースの名前が表示されます。何も選択されていない場合は NULL
が返されます。
例:
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| test_db |
+------------+
SHOW VARIABLES ステートメントを使う
SHOW VARIABLES LIKE 'database';
このステートメントを実行すると、すべての MySQL 変数が表示されます。その中に database
という変数があり、その値が現在選択されているデータベースの名前になります。
mysql> SHOW VARIABLES LIKE 'database';
+-----------------+---------+
| Variable_name | Value |
+-----------------+---------+
| database | test_db |
| ... | ... |
+-----------------+---------+
クライアントツールを使う
MySQL クライアントツールの中には、現在選択されているデータベースを表示する機能を持っているものがあります。例えば、MySQL Workbench では、ステータスバーに現在選択されているデータベースの名前が表示されます。
上記の方法のいずれかを使って、MySQLで現在選択されているデータベースを確認することができます。どの方法を使うかは、状況や使いやすさに合わせて選択してください。
USE
ステートメントを使ってデータベースを選択すると、そのデータベースが現在選択されているデータベースになります。- 複数のデータベースに接続している場合は、
SHOW DATABASES
ステートメントを使って接続しているすべてのデータベースを表示することができます。
-- 現在選択されているデータベースを確認する
SELECT DATABASE();
出力例:
+------------+
| DATABASE() |
+------------+
| test_db |
+------------+
-- 現在選択されているデータベースを確認する
SHOW VARIABLES LIKE 'database';
+-----------------+---------+
| Variable_name | Value |
+-----------------+---------+
| database | test_db |
| ... | ... |
+-----------------+---------+
INFORMATION_SCHEMA データベースを使う
INFORMATION_SCHEMA
データベースには、セッションに関する情報を含む SESSION_VARIABLES
テーブルがあります。このテーブルには CURRENT_DATABASE
というカラムがあり、その値が現在選択されているデータベースの名前になります。
SELECT CURRENT_DATABASE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES;
+------------+
| CURRENT_DATABASE |
+------------+
| test_db |
+------------+
環境変数を使う
MySQL クライアントツールによっては、環境変数を使って現在選択されているデータベースを設定することができます。例えば、MySQL Workbench では、MYSQL_DATABASE
という環境変数を設定することで、現在選択されているデータベースを変更することができます。
# コマンドプロンプトから MySQL Workbench を起動する
set MYSQL_DATABASE=test_db
mysql-workbench
プログラミング言語を使う
MySQL に接続できるプログラミング言語であれば、その言語を使って現在選択されているデータベースを取得することができます。例えば、Python では mysqlclient
ライブラリを使って現在選択されているデータベースを取得することができます。
import mysqlclient
# MySQL に接続する
connection = mysqlclient.connect(
host="localhost",
user="root",
password="password",
)
# 現在選択されているデータベースを取得する
cursor = connection.cursor()
cursor.execute("SELECT DATABASE()")
database_name = cursor.fetchone()[0]
# クリーンアップ
cursor.close()
connection.close()
print(database_name)
test_db
mysql