データベース基礎講座

第 4 章 データの追加

     


1.INSERT
  • 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文で計算されている。  


 


[PR]アナタのウラ県民性をチェック:こっそり一人で?ワイワイ皆で?診断しょ