MySQLのデフォルトデータベースとは?ユーザーとセッションの違いを解説
MySQLにおける「デフォルトデータベース」とは
結論から言うと、ユーザーに対して固定のデフォルトデータベースは存在しません。MySQLでは、デフォルトデータベースは「現在のセッション」に対して設定されるものです。
現在どのデータベースがデフォルトとして選択されているかは、次のクエリで確認できます。
mysql> SELECT DATABASE(); +------------+ | Database() | +------------+ | sample | +------------+ 1 row in set (0.00 sec)
上記の結果セットから、現在使用しているのが「sample」データベースであることがわかります。この設定は現在のセッションにのみ有効です。
USEステートメントで別のデータベースに切り替える
同じセッション内であれば、USEステートメントを使って別のデータベースをデフォルトとして設定し直すこともできます。
mysql> USE query; Database changed mysql> SELECT DATABASE(); +------------+ | Database() | +------------+ | query | +------------+ 1 row in set (0.00 sec)
これにより、現在のセッションにおけるデフォルトデータベースは「query」に変更されました。
ポイントまとめ
- デフォルトデータベースはユーザー単位ではなく、セッション単位で管理される
SELECT DATABASE();を実行すると、現在のデフォルトデータベースを確認できるUSE データベース名;でセッション内のデフォルトデータベースを自由に切り替えられる- 新しい接続(セッション)を開始した場合は、必要に応じて再度
USEでデータベースを指定する必要がある
-
MySQLでデータベース内のテーブル数を表示するクエリの書き方
INFORMATION_SCHEMA.TABLESを使ってテーブル数を取得するここでは例として、「WEB」というデータベースを使用しているものとします。このデータベース内に存在するテーブルの総数を調べたい場合、MySQLではINFORMATION_SCHEMA.TABLESを利用するのが便利です。INFORMATION_SCHEMAは、MySQLサーバーが管理しているメタデータ(データベース名、テーブル名、カラム情報など)を格納する仮想データベースであり、これを参照することでスキーマに関する情報をSQLで簡単に取得できます。テーブル数を表示するクエリ「WEB」データベース内のテーブル数を表示す
-
MySQLのデフォルトポート番号は「3306」!基本情報とセキュリティ上の注意点を解説
MySQLがデフォルトで使用するポート番号は3306です。本記事では、3306番ポートの基本的な役割から、公開時のセキュリティリスク、そして安全に運用するための対策までをわかりやすく解説します。 3306番ポートとは? 3306番ポートは、MySQLプロトコルがクライアントや「mysqldump」などのユーティリティと接続する際に使用するポートです。通信方式はTCP(Transmission Control Protocol:伝送制御プロトコル)を採用しており、信頼性の高いデータ転送を実現しています。 なお、3306はあくまで「デフォルト」のポート番号であり、設定変更によって別のポート番号でM