SQL文でバッククオートを使っているのを今まで見たことがなく、なるほどー知らなかったなと思ったのでメモ(見たことあるかもしれないけど忘れた(^^)
#バッククオートとは
バッククオートとは、『`』という記号のことです。
MacのUSキーで言う所の左上の記号になります。
また、これと似ているのが『'』よく使われるシングルクオートです。
#SQLにてどのように使うのか?
・バッククオートはテーブル名やフィールド名
・シングルクオートは値や文字列
と使い分けるようです。
例
CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8
だが、もちろんバッククオートは必ず使うものでもない
#バッククオートは何の為に使われるのか?
それは下記のリンクからの引用で
phpMyAdminのSQLに付加される「'」に似た記号「`」は何?
では、何のためにphpMyAdminではバッククォートが付加されるのでしょうか。
それは、「SELECT * FROM `table`」のようなSQLも実行可能にするためです。
少し難しく言えば、予約語をエスケープするためです。
予約語とは、MySQL側で特別なキーワードだと認識される語句で、TABLE、SQL、INDEX、LOCKなどがあります。こ>のようなキーワードは、そのままテーブル名や列名などに使うことはできません。
ただし、MySQLでは予約語をバッククォートで囲むことで、テーブル名や列名として使用可能になります。
こうした点を考慮して、phpMyAdminで実行されるSQLにはバッククォートが付加されています。
「使用可能」と言っても、一般的にSQLで使われる語句なので、テーブル名などにはふさわしくありません。できるだ>け使わないようにしましょう。
予約語について詳しくは、MySQLのマニュアルを参照してください。
●MySQLの予約語
また、「pop-products」のように、ハイフンでつながれた名前のテーブルも、そのままでは使えないので、>「SELECT * FROM `pop-products`」のようにバッククォートで囲むことになります。
ということらしい。