INSERT (SQL)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > INSERT (SQL)の意味・解説 

INSERT (SQL)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)

ナビゲーションに移動 検索に移動

INSERT(インサート)ステートメントは、を追加する、コンピュータデータベース言語 SQL におけるデータ操作言語(DML)ステートメントの1つである。1度に1行を追加するだけではなく、問い合わせの結果としての複数行を追加することもできる。なお、ユーザーはそのテーブル(関係)に対してINSERT権限を持っている必要がある。また、WHERE句で指定したテーブル全てに対してSELECT権限を持っている必要がある。

構文

値の挿入

INSERT INTO テーブル名 [ (列名1 [ ,列名2・・・]) ]
  VALUES (A1 [, A2 ...]) [, (B1 [, B2 ...]) ...];

の数と値の数は一致している必要がある。指定のない列についてはデフォルト値(テーブル作成時にDEFAULT句で指定された値)またはNULLが使われる。列の順番は任意である。列の指定が無い場合、テーブル作成時の列順を利用してすべての列を指定したと扱われる。

設定した値あるいは未設定時の値(デフォルト値またはNULL)は、その列またはテーブルに適用される制約(主キー制約一意性制約参照整合性制約CHECK制約NOT NULL制約など)を満たさなければならない。文法エラーまたは制約違反があれば行追加は失敗する。

VALUES に続けて複数の行値を指定することにより、複数の行を一括で挿入することができる。INSERT を複数回実行するのと結果は変わらないが、データベース製品によっては処理の効率が高まる場合がある。

INSERT INTO phone_book (name, number) VALUES ('John Doe', '555-1212');
INSERT INTO phone_book (name, sex) VALUES ('Nancy', 'Woman'),('Tom', 'Man'),('Cathy','Woman');

問い合わせ結果の挿入

INSERT INTO テーブル名1 SELECT * FROM テーブル名2 WHERE 条件式;

テーブル2に対するSELECTステートメントでの問い合わせの結果をテーブル1に追加する。

INSERT INTO phone_book2 SELECT * FROM phone_book WHERE NAME IN ('John Doe', 'Peter Doe');

採番キーの見つけ方

データベースシステムが自動採番した連番等の人工キーを主キーとして利用する場合、他のSQLステートメントから、その追加対象のテーブルを利用するために、自動採番された主キーを見つける必要があるが、その方法には以下のようなものがある。

  • 特別なストアドプロシージャを使用する
  • 一時テーブルに最後に追加した行をSELECTステートメントで検索する
  • INSERTステートメントにおける一意な要素の組み合わせを、SELECTステートメントでの検索に使用する
  • INSERTステートメントでGUIDを使用し、 SELECT ステートメントでそれをキーに検索する



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「INSERT (SQL)」の関連用語

INSERT (SQL)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



INSERT (SQL)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのINSERT (SQL) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS