読み方 : アップサート
UPSERT
概要

リレーショナルデータベース(RDB)を操作するための問い合わせ言語であるSQLでは、データベースにレコードを追加するにはINSERT文を、既存のレコードのデータを更新(上書き)するにはUPDATE文を用いる。
データベースの用途によっては、「データが存在するなら更新し、無ければ新規作成する」という操作を行いたい場合がある。UPSERTはINSERTの機能とUPDATEの機能を組み合わせ、一度の指示でこのような操作を行うことができる。
SQLの拡張としてUPSERT文という命令文を用意している処理系はあまりないが、INSERT文の拡張やMERGE文などの形でPostgreSQLやMySQL、SQLiteなどがUPSERTに相当する機能を提供している。RDB以外のデータベースでは、米オラクル(Oracle)社の「SQL for Oracle NoSQL Database」というSQL風の言語にUPSERT文が用意されている。
(2023.11.25更新)