56
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MYSQL バッククオートについて

Last updated at Posted at 2018-10-13

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`」のようにバッククォートで囲むことになります。

ということらしい。

56
37
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?