-
NSERTは、既存のテーブルに新しい行を挿入します。
INSERTで、データベースに行を挿入するには、VALUES句を使う方法と、SELECT句を使う方法の二つがあります。
構 文
- ■INSERT ... VALUES書式
- 値の明示指定を基本として行を挿入する
- ■INSERT ... SELECT書式
- 他の表(複数可)から抽出した行を挿入する
■INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO]
テーブル名 [(項目名1,項目名2,...)]
VALUES
(値1,値2,...),(...),...
■INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO]
テーブル名 [(項目名1,項目名2,...)]
SELECT
項目名リスト
FROM
テーブルリスト
WHERE
検索条件
■INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO]
テーブル名
SET
項目名1=値1, 項目名2=値2, ...
テーブル内の項目順が不明な場合、これを調べるためにDESCRIBE
テーブル名を使用すること。 テーブル内の一部の項目しか指定しない場合、指定されなかった項目には、それぞれの初期値が指定されます。 値を複数指定する場合、必ず値リスト内で先頭に近い方の項目を参照しなければなりません。
オプション
LOW_PRIORITY
INSERTの実行はそのテーブルから値を読み込むクライアントがいなくなるまで遅らされる。
IGNORE
テーブル内の PRIMARY や UNIQUE キーが重複したものは無視され、挿入されまない。
VALUES を使った新しい行の追加
INSERT INTO テーブル名
VALUES('値','値','値','値','値','値')
例: 特定の項目に値を与える INSERT
INSERT INTO 利用者台帳(フィールド名,フィールド名,フィールド名)
VALUES('値','値','値')
INSERTの中のSELECT文
既にあるテーブルを加工して新しいテーブルをつくる場合には、SELECTを使った挿入が便利です。
古いテーブルを利用して新しいテーブルをつくる
INSERT INTO 利用者台帳広島編
SELECT
*
FROM
利用者台帳
WHERE
住所 LIKE '%広島%' |
SELECTを使うと、SELECTが返す複数の行がただちに新しいテーブルに取り込まれる。
計算式の利用
INSERT INTO 新定価表(品名番号,品名,定価(消費税込み))
SELECT
品名番号 , 品名名 , 定価 * 1.05
FROM
商品台帳 |
ここでは、新しい項目「定価(消費税込み)」は、SELECT文で計算されている。
|