【MySQL】カラム名を囲むバッククオートについて
いつも何気なくカラムを使う時には、ほぼカラム名をバッククオート「`」で囲んでいます。
バッククオートは無くても問題は無いのですが、全角文字をカラムにしている場合は 経験上から気持ち悪いのでそうしています。
Oracleなんかだと、バッククオートではなくダブルクォートで囲みます。
以下の記事のテーブルを例にバッククオートでの囲み方を示します。
⇒【MySQL】既に存在するTABLEに複数カラムを位置指定で追加する方法について(ALTER TABLE)
最初の SELECT 文はバッククオート無し TEST1 テーブルの全てを検索していますが、 2番目の SELECT ではカラム及び、テーブル名をバッククオートで囲っています。
バッククオートですが何が有利なのかと言えば、カラム名が予約語でもOKなのです。 (普通は予約語をカラム名にしませんが)
以下の例を見て下さい。 カラム名には相応しくない INSERT ですが、取り敢えずテーブルに追加して SELECT してみます。
結果は問題無く出来る様です。(しかし、予約語はいけませんが。)
バッククオートは少し面倒くさいのですが、カラム名などをはっきりと区別できる点もありますし、 使った方が良いと思います。 (テーブルの別名にもバッククオートは付加できます)
■関連記事
⇒【MySQL】ダミーテーブルをUNIONで連結してコード表を作成する方法
⇒【MySQL】ユーザー変数を使ってSELECTに行番号を付加する方法
⇒【MySQL】カラム名を囲むバッククオートについて
⇒【MySQL】UNIONMINUSが無いので、代わりにNOTEXISTSを使う方法について
⇒【MySQL】ユーザ変数を使って連番や、連続日付を取得する方法について
バッククオートは無くても問題は無いのですが、全角文字をカラムにしている場合は 経験上から気持ち悪いのでそうしています。
Oracleなんかだと、バッククオートではなくダブルクォートで囲みます。
以下の記事のテーブルを例にバッククオートでの囲み方を示します。
⇒【MySQL】既に存在するTABLEに複数カラムを位置指定で追加する方法について(ALTER TABLE)
最初の SELECT 文はバッククオート無し TEST1 テーブルの全てを検索していますが、 2番目の SELECT ではカラム及び、テーブル名をバッククオートで囲っています。
バッククオートですが何が有利なのかと言えば、カラム名が予約語でもOKなのです。 (普通は予約語をカラム名にしませんが)
以下の例を見て下さい。 カラム名には相応しくない INSERT ですが、取り敢えずテーブルに追加して SELECT してみます。
結果は問題無く出来る様です。(しかし、予約語はいけませんが。)
バッククオートは少し面倒くさいのですが、カラム名などをはっきりと区別できる点もありますし、 使った方が良いと思います。 (テーブルの別名にもバッククオートは付加できます)
■関連記事
⇒【MySQL】ダミーテーブルをUNIONで連結してコード表を作成する方法
⇒【MySQL】ユーザー変数を使ってSELECTに行番号を付加する方法
⇒【MySQL】カラム名を囲むバッククオートについて
⇒【MySQL】UNIONMINUSが無いので、代わりにNOTEXISTSを使う方法について
⇒【MySQL】ユーザ変数を使って連番や、連続日付を取得する方法について
コメント