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

MySQLエラー #1046「No database selected(データベースが選択されていません)」の原因と解決方法

MySQLエラー #1046 とは

MySQLでテーブルを作成する際に、使用するデータベースを選択せずに作業を始めると、「ERROR 1046 (3D000): No database selected」というエラーが発生します。この記事では、エラーが起こる原因と、具体的な解決手順をわかりやすく解説します。

エラーが発生するケース

まず、以下のようにMySQLを起動します。

MySQLエラー #1046「No database selected(データベースが選択されていません)」の原因と解決方法

正しいパスワードを入力すると、上記のようなコンソール画面が開きます。この状態で、データベースを何も選択せずにテーブルを作成してみましょう。

mysql> CREATE table TblUni
-> (
-> id int,
-> Name varchar(100)
-> );

すると、次のようなエラーメッセージが表示されます。

ERROR 1046 (3D000): No database selected

実際の画面では以下のように表示されます。

MySQLエラー #1046「No database selected(データベースが選択されていません)」の原因と解決方法

エラーの解決方法:データベースを選択する

このエラーを解消するには、テーブル作成などの操作を行う前に、あらかじめ使用するデータベースを選択しておく必要があります。以下の手順に従ってください。

手順1:SHOW DATABASESで既存のデータベースを確認する

まず、SHOWコマンドを使って、MySQL内にどんなデータベースが存在するのかを確認しましょう。

mysql> SHOW databases;

実行結果は以下のとおりです。

+--------------------+
| Database           |
+--------------------+
| business           |
| hello              |
| information_schema |
| mybusiness         |
| mysql              |
| performance_schema |
| sample             |
| sys                |
| test               |
+--------------------+
9 rows in set (0.00 sec)

手順2:USEコマンドでデータベースを選択する

表示された一覧の中から、使用したいデータベースを選びます。ここでは例として「business」データベースを使用します。「use」コマンドで切り替えを行いましょう。

mysql> use business;
Database changed

「Database changed」と表示されれば、データベースの切り替えは正常に完了しています。

手順3:再度テーブルを作成する

データベース「business」を選択した状態であれば、先ほどと同じCREATE TABLE文を実行してもエラーは発生しません。

mysql> CREATE table TblUni
-> (
-> id int,
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.50 sec)

「Query OK」と表示され、テーブルが正常に作成されました。

まとめ

MySQLエラー #1046「No database selected」は、データベース未選択の状態でSQLを実行したことが原因です。SHOW DATABASESでデータベース一覧を確認し、USEコマンドで対象のデータベースを選択してから操作を行えば、エラーを確実に回避できます。

  1. MySQLで現在選択中のデータベースを確認する方法|DATABASE()関数とstatusコマンドの使い方

    MySQLに接続している際、「今どのデータベースを選択しているのか」を確認したい場面はよくあります。この記事では、DATABASE()関数やstatusコマンドを使って、現在選択中のデータベース名を簡単に確認する方法を解説します。 DATABASE()関数で選択中のデータベースを確認する MySQLでは、DUALテーブルに対してDATABASE()関数を実行することで、現在選択されているデータベース名を取得できます。 手順1:データベースを選択する まず、例として「business」というデータベースを選択してみましょう。以下のコマンドを実行します。 mysql> use busi

  2. JavaとMySQLで発生するJDBCエラー「Unknown database」の原因と解決方法

    JDBCエラー「Unknown database」とは?このエラーは、MySQLに存在しないデータベースを指定して接続しようとした場合に発生します。JDBCでデータベースに接続する際、接続URL内のデータベース名が実際には存在しないと、「Unknown database(不明なデータベース)」という例外がスローされます。ここでは、まずエラーが実際にどのように表示されるかを確認し、その後の解決方法を解説します。エラーが発生するサンプルコード以下はJavaのコード例です。ここでは、存在しないデータベース「onlinebookstore」を接続先として指定しています。import java.sql.