MySQLでテーブル名に空白が含まれるテーブルからデータを取得する方法
MySQLでは、テーブル名に空白(スペース)が含まれている場合、そのテーブル名をバッククォート(`)で囲む必要があります。バッククォートで囲まないと、SQL構文エラーが発生してしまいます。この記事では、テーブルの作成からデータの挿入・取得までの一連の手順を実例付きで解説します。
1. バッククォートを使ったテーブルの作成
まず、テーブル名に空白を含むテーブルを作成します。以下のように、テーブル名をバッククォートで囲んで指定します。
mysql> create table `Demo Table138` ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Price int ); Query OK, 0 rows affected (0.47 sec)
2. INSERT文でレコードを挿入する
続いて、INSERT文を使ってテーブルにレコードを挿入します。テーブル名に空白が含まれるため、こちらも同様にバッククォートで囲む点に注意してください。
mysql> insert into `Demo Table138`(Price) values(450); Query OK, 1 row affected (0.18 sec) mysql> insert into `Demo Table138`(Price) values(499); Query OK, 1 row affected (0.16 sec) mysql> insert into `Demo Table138`(Price) values(199); Query OK, 1 row affected (0.17 sec) mysql> insert into `Demo Table138`(Price) values(3090); Query OK, 1 row affected (0.21 sec)
3. SELECT文でデータを取得する
テーブル名に空白が含まれている場合でも、SELECT文でテーブル名をバッククォートで囲めば、通常どおりデータを取得できます。以下がそのクエリです。
mysql> select * from `Demo Table138`;
実行すると、次のような結果が出力されます。
+----+-------+ | Id | Price | +----+-------+ | 1 | 450 | | 2 | 499 | | 3 | 199 | | 4 | 3090 | +----+-------+ 4 rows in set (0.00 sec)
まとめ
テーブル名やカラム名に空白などの特殊文字が含まれている場合は、必ずバッククォート(`)で囲むことがポイントです。なお、実務においては、テーブル名に空白を使わず、アンダースコア(_)などで単語をつなぐ命名規則を採用するのがおすすめです。そうすることで、SQL文の記述ミスを防げるうえ、コードの可読性も向上します。
-
MySQLのテーブルデータはWindowsのどこに保存される?確認方法をわかりやすく解説
MySQLテーブルデータの保存場所を確認する方法MySQLで作成したテーブルのデータが、実際にWindows上のどの場所に保存されているのかを知りたいケースはよくあります。そんなときは、システム変数「datadir」を確認することで、データディレクトリの場所を簡単に把握できます。まずは、最もシンプルな方法として「@@datadir」を参照する構文を見てみましょう。select @@datadir;また、SHOW VARIABLESコマンドを使って確認することもできます。その場合の構文は以下の通りです。show variables where Variable_name = datadir;実際
-
PythonでMySQLのテーブルから全データを取得する方法を解説
MySQLのテーブルは、行(レコード)と列(フィールド)で構成されています。列はデータの項目(フィールド)を定義し、行は実際のデータレコードを表します。テーブルに格納されたデータは、利用するために取得する必要があります。場合によっては、テーブルからすべてのデータを一度に取得したいこともあるでしょう。テーブルからすべての行を取得するには、SELECT * ステートメントを使用します。基本構文SELECT * FROM テーブル名上記の構文における「*」は、テーブルからすべての行を取得することを意味しています。PythonでMySQLを使ってテーブルの全データを取得する手順MySQLコネクタをイン