MySQLを使っていて、レコードが存在していない場合はINSERTを使って、存在している場合はUPDATEを使うようにプログラムを書いていたのですが、もっと便利な方法があるだろうと思い、検索をしたところやっぱりありました。

REPLACEです。

REPLACEはINSERTとUPDATEを合体させたようなもので、レコードが存在していない場合はINSERT、レコードが存在している場合はUPDATEと同じ効果が得られます。

このような感じでSQL文はINSERTと同じように書けます。

INSERT INTO テーブル名 VALUES (値);
REPLACE INTO テーブル名 VALUES (値);

SQLはまだ使い始めて日が浅いのですが、奥が深いです。。。