PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

「'」に似た記号「`」の正体は?

phpMyAdminでテーブルのデータを表示すると、実行されたSQLにシングルクォート「'」を斜めにしたような記号「`」が付加されます。たとえば、次の「products」の前後の記号です。

実行したSQLに付加されるバッククォート

実行したSQLに付加されるバッククォート

「'」に似ていますが、「`」は「バッククォート」という記号です。整理しておきましょう。

りんごの前後の「'」はシングルクォート
productsの前後の「`」はバッククォート

バッククォートは、キーボードでは「@」の上にあり、Shift+@キーで入力できます。

バッククォートについて2つのポイントを説明します。

バッククォートは必須ではない

まず、SQLではバッククォートは必須ではありません。次のようにバッククォートを付けずにSQLを入力しても問題なく実行されます。

SELECT * 
FROM products 
WHERE products LIKE 'りんご'

「りんご」の前後のシングルクォート「'」は必須です。

バッククォートが付加されるのは何のため?

では、何のためにphpMyAdminではバッククォートが付加されるのでしょうか。

それは、「SELECT * FROM `table`」のようなSQLも実行可能にするためです。

少し難しく言えば、予約語をエスケープするためです。

予約語とは、MySQL側で特別なキーワードだと認識される語句で、TABLE、SQL、INDEX、LOCKなどがあります。このようなキーワードは、そのままテーブル名や列名などに使うことはできません

ただし、MySQLでは予約語をバッククォートで囲むことで、テーブル名や列名として使用可能になります。

こうした点を考慮して、phpMyAdminで実行されるSQLにはバッククォートが付加されています。

「使用可能」と言っても、一般的にSQLで使われる語句なので、テーブル名などにはふさわしくありません。できるだけ使わないようにしましょう。

予約語について詳しくは、MySQLのマニュアルを参照してください。

MySQLの予約語

また、「pop-products」のように、ハイフンでつながれた名前のテーブルも、そのままでは使えないので、「SELECT * FROM `pop-products`」のようにバッククォートで囲むことになります。

繰り返しますが、「通常の」SQLではバッククォートは不要です。

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

PHPサンプルコード

PHP全般

PHP関数

WordPress

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク