UPSERT

概要

UPSERTとは、データベースなどに対する操作の種類の一つで、指定のデータが有れば更新し、無ければ新規作成(挿入)すること。「INSERT」(インサート)と「UPDATE」(アップデート)を組み合わせた造語。

リレーショナルデータベースRDB)を操作するための問い合わせ言語であるSQLでは、データベースレコードを追加するにはINSERT文を、既存のレコードのデータを更新(上書き)するにはUPDATE文を用いる。

データベースの用途によっては、「データが存在するなら更新し、無ければ新規作成する」という操作を行いたい場合がある。UPSERTはINSERTの機能とUPDATEの機能を組み合わせ、一度の指示でこのような操作を行うことができる。

SQLの拡張としてUPSERT文という命令文を用意している処理系はあまりないが、INSERT文の拡張やMERGE文などの形でPostgreSQLMySQLSQLiteなどがUPSERTに相当する機能を提供している。RDB以外のデータベースでは、米オラクル(Oracle)社の「SQL for Oracle NoSQL Database」というSQL風の言語にUPSERT文が用意されている。

(2023.11.25更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。