INSERT_(SQL)
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "INSERT" SQL ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2023年11月)

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 ステートメントでそれをキーに検索する










データベース管理システム


データモデル

関係モデル

データベース設計

正規化

参照整合性

関係代数

関係論理

データベース管理システム

関係データベース管理システム

オブジェクト関係データベース

分散データベース

トランザクション処理

概念
データベース

ACID

CRUD

3値論理NULL

候補キー

外部キー

主キー

スーパーキー

代理キー

オブジェクト

関係 ()

ビュー


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:12 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef