MySQLのバッククオートとシングルクオートの使い分け
そもそもバッククオートが使われることを知りませんでした。見た目もよーく見ないと区別がしにくいのは私だけでしょうか🙄最近実際にSQLを打ち込んでいる中で知りました。やっぱりなんでもやってみて分かる事が多いなと改めて認識しました。
2つの違いを調べてみました。
シングルクオート (')
文字列を囲むために使用する。
SELECT * FROM user WHERE code = '123’
ダブルクオートは基本的に使用しなくていいみたいなので一旦忘れます。特殊な状況で使うようです。
バッククオート (`)
データベース、テーブル、カラムを囲むために使用する
SELECT `database`
.`user` WHERE code = '123’
なんのためにバッククオートを使うのか?
DBにはDB自身が使用している予約語というものがあります。バッククオートはこの予約語としての意味を無くし、データベース名などとして使えるようにするために使用されます。
バッククオートを入力しなくてもSQLは機能するので、特別使う必要はなさそうです。
まとめ
シングルクオート ('): 文字列を囲むとき通常しようするもの
バッククオート (`): 特殊な状態でデータベース、テーブル、カラム名を指定したいとき
MySQLではこのルールですが、データベースによってクオテーションの使い方が微妙に違うらしく、気をつける必要があります。またチーム開発になると使い方の統一なども必要になってきそうです。
ちなみに日本語キーボードと英語キーボードのバッククオートの入力方法が全然違います。何をするにも英語キーボードは合理的に作られているので、もう日本語キーボードには戻れません。
- 日本語: Shift + @
- 英語: ` のみ
おすすめの英語キーボード
ThinkPad トラックポイント・キーボード – 英語 0B47190
長時間使用しても疲れにくく、耐久性に優れています。有線で若干値が張るのが難点。
今ならセールで-35%OFF ¥6,480 です。
Anker ウルトラスリム Bluetooth ワイヤレスキーボード
Bluetooth対応で \2,000円 !コスパ重視で英語キーボードを試してみたい方にオススメ。Win / Macどちらも対応しています。すごく軽いので持ち運びにも適しています。