kawama.jp

mysqlだけでできる便利な処理いろいろ

カテゴリ: MySQL — 2014年5月15日 17:19 — Comments (0)hatebu count

mysqlで調べたことをいくつかメモ。

■insert … select

これは前から知ってたけどもう一度おさらい。

insert into TABLE (
col1,
col2,
col3
) select
val1,
val2,
val3
from TABLE2

■on duplicate key update

行がなければinsertして、なければupdateしてくれる。すごい便利。

insert into TABLE (
col1,
col2,
col3
) select
val1,
val2,
val3
from TABLE2
on duplicate key update col2 = values(col2), col3 = col3 + values(col3)

※この場合はcol1が主キーである必要がある。

■update … select

insert … select のupdate版みたいな感じ。
※やってみたけどmysqlが固まる。すごく重いかも。

update TABLE A, (
select
col1,
col2,
col3
from TABLE2
) B set A.col4 = B.col1

■replace

これも前から知ってたけどおさらい。
新しいデータはinsert、古いデータはdeleteしてinsertされる。上書きみたいな感じ。

replace into TABLE (
col1
)
select col2 from TABLE2

mysql単体でもかなり色々なことができますね。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Copyright (C) 2002 - 2017 kawama All Rights Reserved. — Powered by WordPress