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

MySQLでテーブル名にスペースを含める方法:バッククォートの使い方を解説

MySQLでは、テーブル名にスペースを含むテーブルを作成することが可能です。ただし、その場合はテーブル名をバッククォート(`)で囲む必要があります。バッククォートを使用しないと、構文エラーが発生します。

バッククォートなしで作成した場合のエラー例

まず、バッククォートを使わずに「Demo Table」のようにスペースを含むテーブル名を指定すると、どのようなエラーが発生するか確認してみましょう。

mysql> create table Demo Table
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeFirstName varchar(20),
    EmployeeLastName varchar(20),
    EmployeeAge int,
    EmployeeSalary int,
    EmployeeAddress varchar(200)
);
ERROR 1064 (42000): You have an error in your syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'Table37
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeFirstName varchar(' at line 1 )

上記のように、ERROR 1064 (42000)という構文エラーが発生します。これは、MySQLがスペースを含む名前を正しく識別できず、「Demo」と「Table」を別々のトークンとして解釈してしまうためです。

バッククォートを使った正しい作成方法

このエラーを回避するには、テーブル名全体をバッククォートで囲みます。以下が、MySQLでスペースを含むテーブル名を持つテーブルを作成するためのクエリです。

mysql> create table `Demo Table37`
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeFirstName varchar(20),
    EmployeeLastName varchar(20),
    EmployeeAge int,
    EmployeeSalary int,
    EmployeeAddress varchar(200)
);
Query OK, 0 rows affected (0.66 sec)

上記のクエリでは、テーブル名「Demo Table37」をバッククォート記号で囲んで指定しているため、エラーは発生せず、正常にテーブルが作成されました。

作成されたテーブル名

`Demo Table37`

補足:バッククォートを使う際の注意点

  • バッククォート(`)は、シングルクォート(')やダブルクォート(")とは異なる記号です。キーボードでは通常、Backspaceキーの近くにある「@」や「~」と同じキーで入力できます。
  • スペースを含むテーブル名を使用する場合、以降のすべてのSQL文(SELECT、INSERT、UPDATEなど)でも必ずバッククォートで囲む必要があります。
  • 可読性や保守性の観点から、一般的にはアンダースコア(_)を使って Demo_Table37 のように命名することが推奨されています。
  1. MySQLで数値のみのデータベース名を作成する方法【バッククォートの使い方】

    MySQLで数値名のデータベースは作成できるのか? 結論から言うと、そのままの記述では数値のみのデータベース名を作成することはできません。まず、失敗する例を見てみましょう。 エラーになる例 以下のように、バッククォートなしで数値名を指定してデータベースを作成しようとすると、構文エラーが発生します。 mysql> create database 1233; このSQLを実行すると、次のようなエラーメッセージが表示されます。 ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corr

  2. MySQLでインデックス付きのテーブルを作成する方法を徹底解説

    MySQLでは、テーブル作成後にCREATE INDEX文を使うことで、特定のカラムに対してインデックスを追加できます。検索速度の向上やデータ整合性の確保において、インデックスは非常に重要な役割を果たします。この記事では、基本的な構文から実際の実行例まで、順を追ってわかりやすく解説します。インデックス付きテーブルを作成する基本構文まずテーブルを作成し、その後CREATE INDEX文でインデックスを追加します。基本の構文は以下のとおりです。create table yourTableName ( yourColumnName1 dataType, yourColumnName2 dataTyp