MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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 でデータベースを指定する必要がある
  1. MySQLでデータベース内のテーブル数を表示するクエリの書き方

    INFORMATION_SCHEMA.TABLESを使ってテーブル数を取得するここでは例として、「WEB」というデータベースを使用しているものとします。このデータベース内に存在するテーブルの総数を調べたい場合、MySQLではINFORMATION_SCHEMA.TABLESを利用するのが便利です。INFORMATION_SCHEMAは、MySQLサーバーが管理しているメタデータ(データベース名、テーブル名、カラム情報など)を格納する仮想データベースであり、これを参照することでスキーマに関する情報をSQLで簡単に取得できます。テーブル数を表示するクエリ「WEB」データベース内のテーブル数を表示す

  2. MySQLのデフォルトポート番号は「3306」!基本情報とセキュリティ上の注意点を解説

    MySQLがデフォルトで使用するポート番号は3306です。本記事では、3306番ポートの基本的な役割から、公開時のセキュリティリスク、そして安全に運用するための対策までをわかりやすく解説します。 3306番ポートとは? 3306番ポートは、MySQLプロトコルがクライアントや「mysqldump」などのユーティリティと接続する際に使用するポートです。通信方式はTCP(Transmission Control Protocol:伝送制御プロトコル)を採用しており、信頼性の高いデータ転送を実現しています。 なお、3306はあくまで「デフォルト」のポート番号であり、設定変更によって別のポート番号でM