REPLACE
REPLACE
■何ができるのか?
データの置き換えをしたい時に使う。「delete」して「insert」をします。
■注意点
UPDATE処理はしてない
■処理
「delete」して「insert」をします。
■メリット
分岐処理のプログラムが減ります。
1.REPLACE文
REPLACE文は「delete」して「insert」をします。
名前から、UPDATE処理をしてそうなのですが、していません。
重複と重複してない時で動きが違います。
■構文
REPLACE INTO テーブル名 VALUES (値1[, 値2, ...]); |
■重複時
1.既存を「DELETE」
2.値を「INSERT」
■重複してない時
1.値を「INSERT」.
※重複しないときは、単にINSERTしてくれます。
置き換えではなく、「削除+挿入」なので注意です!!
2.ON DUPLICATE KEY UPDATE
■構文
INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE t1 SET c=c+1 WHERE a=1; |
INSERT INTO テーブル名 (カラム1の名前, カラム2の名前) VALUES (カラム1の値, カラム2の値) ON DUPLICATE KEY UPDATE カラム1の名前 = VALUES(カラム1の名前), カラム2の名前 = VALUES(カラム2の名前) |
■処理
1.対象のレコードがあるかどうかをチェックするSELECT文) 2.対象のレコードが無かったらデータを挿入する(INSERT文) 3.対象のレコードがあったらデータを更新する(UPDATE文) |
という処理を一気にしてくれます。
※削除はしていません
■さらに詳しく
①PRIMARY KEYもしくはUNIQUE制約が付けられているカラムのVALUESの値が既にデータベースにあるかをチェックする
②無い場合はINSERT処理 1行目のVALUESのデータを新たに挿入
③既に存在する場合、UPDATE処理。 UPDATEの後ろに指定してあるカラムのデータを更新する |
※主キー制約か?UNIQUEキー制約が付いている場合、insert構文では、insertができません。
それは、かなり面倒なので、「ON DUPLICATE KEY UPDATE」構文があるわけです!!
■メリット
upsert処理を一発で書いてくれる。
ソースコードが短くなる。
■まとめ
この処理では、deleteを利用していないのが、最大の特徴です。
カラムのフィールドを更新するのか?
一度けして、挿入するのか?
「created_at」や「updated_at」カラムを用意して、処理をしっかりと管理したい場合は「ON DUPLICATE KEY UPDATE」を
3.まとめ
replace文を使うとかなり楽に書けますが、勉強にならないので面倒ですが、joinを使って更新、入力をしましょう。
MYSQLの学習
MYSQLの学習
DBに格納、取り出しをしてくれる部分。データの型を決めるところがまずハマル。この順番で学習できます。
■ 基本編 ■
■基本操作■
データを追加する(INSERT)
更新する (UPDATE)
削除について(DALETE)
CURDについて
■基本の操作02■
NOT NULL設定
ビューとは何か?
アップデートについて
■最新
外部結合
結合したテーブルへのupdate
結合したテーブルへのinsert
■データの置き換え
この記事を読んだ人は、こんな記事も読んでいます
SEO対策の基本 外部要因とは?
SEO対策の基本的である、外部要因とは何か?
SEO対策をするなら絶対に知っておきたい、基本知識です。
売れるサイトを作るのに知って起きたい知識
サーチエンジンマーケティングという言葉をご存知でしょうか?
ホームページで商品やサービスを売る時に知っておきたいマーケティング
についてご紹介いたします。
SEO対策をする5つのメリットとは?
なぜ上位表示させることが大事なのか?なぜSEO対策をする必要があるのか
についてご紹介させていただきます。
SEO対策の内部要因とは?
上位表示させるためには、内部要因について知っておくことも大事です。
キーワードを上位表示させるために必要なのは、ソースコードを最適化することです
内部要因の対策について知りたい方はこちらへ
キーワード対策をする前に
そのキーワード対策。ちょっと待ってください。
そのまま対策をすると、必ずお金を損してしまいます。個人事業主や中小企業は
そんな大きなキーワードで対策をしてはいけません。
広告費用が高くなる本当の理由とは?
売れないサイトに集めていませんか?広告費用がかかるわりには
お問い合わせが少ない・・・と感じる方は多いはずです。
購入率の悪いサイトに集客をしている可能性があります。