【MySQL】カラム名を囲むバッククオートについて

いつも何気なくカラムを使う時には、ほぼカラム名をバッククオート「`」で囲んでいます。
バッククオートは無くても問題は無いのですが、全角文字をカラムにしている場合は 経験上から気持ち悪いのでそうしています。

Oracleなんかだと、バッククオートではなくダブルクォートで囲みます。

以下の記事のテーブルを例にバッククオートでの囲み方を示します。

【MySQL】既に存在するTABLEに複数カラムを位置指定で追加する方法について(ALTER TABLE)


最初の SELECT 文はバッククオート無し TEST1 テーブルの全てを検索していますが、 2番目の SELECT ではカラム及び、テーブル名をバッククオートで囲っています。

バッククオートですが何が有利なのかと言えば、カラム名が予約語でもOKなのです。 (普通は予約語をカラム名にしませんが)
以下の例を見て下さい。 カラム名には相応しくない INSERT ですが、取り敢えずテーブルに追加して SELECT してみます。

結果は問題無く出来る様です。(しかし、予約語はいけませんが。)

バッククオートは少し面倒くさいのですが、カラム名などをはっきりと区別できる点もありますし、 使った方が良いと思います。 (テーブルの別名にもバッククオートは付加できます)

楽天市場


■関連記事
【MySQL】ダミーテーブルをUNIONで連結してコード表を作成する方法
【MySQL】ユーザー変数を使ってSELECTに行番号を付加する方法
【MySQL】カラム名を囲むバッククオートについて
【MySQL】UNIONMINUSが無いので、代わりにNOTEXISTSを使う方法について
【MySQL】ユーザ変数を使って連番や、連続日付を取得する方法について

コメント(0)