LoginSignup
0
0

More than 3 years have passed since last update.

SQLにおけるコーテーションの使い分けとそのエスケープ処理

Posted at

基本

'SQL文', "SQL文"
'(シングルコーテーション)"(ダブルコーテーション)のどっちでもSQL文を囲って使える。

ただ…

データベースによって使い分けが必要なこともある。

使い分けの区別としては2つ。

  • MySQL
  • MySQL以外

それぞれの使い分けはえっ、まだPostgreSQLでダブルクォーテーション使ってるの?を参考に。
上記の記事を表にさせてもらうとこんな風になる。

MySQL以外(PostgreSQLなど) MySQL
'(シングルコーテーション) 文字列 文字列
"(ダブルコーテーション) カラム名 文字列
`(バッククォート) 特に使わない カラム名

一番覚えておきたいのは"(ダブルコーテーション)の使い分けだろう。
自分が現在触っているDBがどっちなのかを踏まえて、SQL文を囲み方も切り替えていきたい。

エスケープ処理

MySQL以外(PostgreSQLなど)で"(ダブルコーテーション)で囲んだSQL文を作成したいとき、カラム名指定のために"(ダブルコーテーション)を使うとSQL文を途切れさせてしまう。
そのような場合、次のように解消できる。

$sql = "UPDATE update_table SET \"更新情報\" = '更新しました!!'";

コーテーションのエスケープ処理は、
'(シングルコーテーション)"(ダブルコーテーション)、それぞれの前に(バックスラッシュ)を置くだけ

以上を踏まえて、SQL文の作成にかかる時間を減らしていきたい。

参考記事

0
0
0

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
0
0