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

MySQLでスペースを含むカラム名をSELECT文で取得する方法

MySQLでスペースを含むカラム名を扱うには

MySQLでは、テーブル作成時にスペースを含むカラム名を定義できますが、そのようなカラムをSELECT文で参照する際には注意が必要です。スペースを含むカラム名を指定する場合は、バッククォート(` `)でカラム名を囲む必要があります。

バッククォートは、キーボードのチルダ記号(~)の下にあるキーで入力できます。シングルクォート(')とは異なる記号なので、混同しないようにしましょう。

1. スペースを含むカラムを持つテーブルを作成する

まず、「Student Name」というスペースを含むカラム名を持つテーブルを作成します。カラム名はバッククォートで囲みます。

mysql> CREATE table SpaceColumn
-> (
-> `Student Name` varchar(100)
-> );
Query OK, 0 rows affected (0.48 sec)

2. レコードを挿入する

続いて、作成したテーブルにデータを挿入します。

mysql> INSERT into SpaceColumn values('John');
Query OK, 1 row affected (0.18 sec)

mysql> INSERT into SpaceColumn values('Bob');
Query OK, 1 row affected (0.17 sec)

3. SELECT文でスペースを含むカラム名を指定する

スペースを含むカラムを取得するための基本構文は以下のとおりです。

SELECT `column_name` from yourTableName;

この構文に従って、実際にクエリを実行してみます。

mysql> SELECT `Student Name` from SpaceColumn;

実行結果

上記のクエリを実行すると、次のような結果が出力されます。

+--------------+
| Student Name |
+--------------+
| John         |
| Bob          |
+--------------+
2 rows in set (0.00 sec)

ポイントまとめ

  • スペースを含むカラム名は、必ずバッククォート(`)で囲む
  • バッククォートはチルダ(~)キーの下にあるキーで入力できる
  • バッククォートで囲まないとSQL構文エラー(syntax error)が発生する

なお、MySQL以外のデータベースではダブルクォート(")や角括弧([])を使用する場合もあるため、使用しているDBMSの仕様を確認しておくと安心です。

  1. JavaでResultSetから列名を取得する方法!MySQLを使ったgetMetaData()の実装例を解説

    ResultSetから列名を取得するには?getMetaData()メソッドの基本JavaでJDBCを使ってデータベース操作を行っていると、「検索結果(ResultSet)に含まれる列名(カラム名)を動的に知りたい」という場面によく出会います。そんなときに活躍するのが、getMetaData()メソッドです。このメソッドを呼び出すと、結果セットの構造情報(列の数や名前、型など)を持つResultSetMetaDataオブジェクトを取得できます。プロトタイプ宣言は以下のとおりです。ResultSetMetaData getMetaData() throws SQLException;サンプル用テ

  2. MySQLで特定のカラム名を持つテーブルを検索する方法

    MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。 基本構文 カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。 select distinct table_name from information_schema.columns where column_name like %yourSearchValue% a