SQL - 行の挿入 (INSERT)


■内容

Top

■行の挿入

Top

■INSERT文の基本

Top
■例題
  1. 担当者表(employee)に、つぎのデータからなる行を追加してください。
       担当者ID (emp_id):     20
       部門ID (dept_id):      40
       担当者名 (emp_name):   山田 花子 
       生年月日 (birthday):   1980-01-02
       入社年月日 (hiredate): 今日の日付
       性別 (sex):            女性(2)
       給与額 (sal):          4000
      

    => INSERT INTO employee VALUES(20, 40, '山田 花子', '1980-01-02', current date, 2, 4000)
    DB20000I  SQL コマンドが正常に終了しました。
    
    => SELECT * from employee
    
    
    EMP_ID      DEPT_ID     EMP_NAME             BIRTHDAY   HIREDATE   SEX         SAL        
    ----------- ----------- -------------------- ---------- ---------- ----------- -----------
              1          10 羽生 章洋            1978-10-10 1990-12-17           1      800.00
              2          10 釜本 喜美子          1975-05-20 1991-02-20           2     1600.00
              3          20 安部 弘江            1974-06-01 1991-02-22           2     1250.00
              4          20 松村 秀和            1970-09-13 1991-04-02           1     2975.00
              5          30 萩原 恵理子          1985-03-16 2008-09-28           2     1250.00
              6          30 岡田 奈緒子          1983-12-24 2007-05-01           2     2850.00
              7          30 井上 尚志            1971-10-17 2000-11-15           1     2450.00
              8          40 西口 麻衣子          1986-12-14 2008-12-03           2     3000.00
              9          40 滝本 順三            1978-04-02 2004-12-18           1     5000.00
             10          40 工藤 新一            1990-02-10 1999-04-01           1     1500.00
             11          90 毛利光太郎           1970-12-31 1990-04-01           1     8000.00
             20          40 山田 花子           1980-01-02 2005-04-26           2     4000.00
    
      12 レコードが選択されました。
    
  2. 担当者表(employee)に、つぎのデータからなる行を追加してください。なお、指定されていない列は、NULLとします。
       担当者ID (emp_id):     21
       担当者名 (emp_name):   渡辺 健一 
      

    => INSERT INTO employee VALUES(21, NULL, '渡辺 健一', NULL, NULL, NULL, NULL)
    DB20000I  SQL コマンドが正常に終了しました。
    
    => SELECT * from employee;
    
    EMP_ID      DEPT_ID     EMP_NAME             BIRTHDAY   HIREDATE   SEX         SAL        
    ----------- ----------- -------------------- ---------- ---------- ----------- -----------
              1          10 羽生 章洋            1978-10-10 1990-12-17           1      800.00
              2          10 釜本 喜美子          1975-05-20 1991-02-20           2     1600.00
              3          20 安部 弘江            1974-06-01 1991-02-22           2     1250.00
              4          20 松村 秀和            1970-09-13 1991-04-02           1     2975.00
              5          30 萩原 恵理子          1985-03-16 2008-09-28           2     1250.00
              6          30 岡田 奈緒子          1983-12-24 2007-05-01           2     2850.00
              7          30 井上 尚志            1971-10-17 2000-11-15           1     2450.00
              8          40 西口 麻衣子          1986-12-14 2008-12-03           2     3000.00
              9          40 滝本 順三            1978-04-02 2004-12-18           1     5000.00
             10          40 工藤 新一            1990-02-10 1999-04-01           1     1500.00
             11          90 毛利光太郎           1970-12-31 1990-04-01           1     8000.00
             20          40 山田 花子           1980-01-02 2005-04-26           2     4000.00
             21           - 渡辺 健一           -          -                    -           -
    
      13 レコードが選択されました。
    
  3. 上記と同じことを、べつの形式で行います。このとき、担当者ID (emp_id)は、22にします。

    => INSERT INTO employee(emp_id, emp_name) VALUES(22, '渡辺 健一');
    DB20000I  SQL コマンドが正常に終了しました。
    
    => SELECT * from employee;
    
    EMP_ID      DEPT_ID     EMP_NAME             BIRTHDAY   HIREDATE   SEX         SAL        
    ----------- ----------- -------------------- ---------- ---------- ----------- -----------
              1          10 羽生 章洋            1978-10-10 1990-12-17           1      800.00
              2          10 釜本 喜美子          1975-05-20 1991-02-20           2     1600.00
              3          20 安部 弘江            1974-06-01 1991-02-22           2     1250.00
              4          20 松村 秀和            1970-09-13 1991-04-02           1     2975.00
              5          30 萩原 恵理子          1985-03-16 2008-09-28           2     1250.00
              6          30 岡田 奈緒子          1983-12-24 2007-05-01           2     2850.00
              7          30 井上 尚志            1971-10-17 2000-11-15           1     2450.00
              8          40 西口 麻衣子          1986-12-14 2008-12-03           2     3000.00
              9          40 滝本 順三            1978-04-02 2004-12-18           1     5000.00
             10          40 工藤 新一            1990-02-10 1999-04-01           1     1500.00
             11          90 毛利光太郎           1970-12-31 1990-04-01           1     8000.00
             20          40 山田 花子           1980-01-02 2005-04-26           2     4000.00
             21           - 渡辺 健一           -          -                    -           -
             22           - 渡辺 健一           -          -                    -           -
    
      14 レコードが選択されました。
    
  4. 部門表(department)のすべての部門に対して、第2をつけて、部門を新設します。このとき、部門ID(dept_id)は、元になる部門ID(dept_id)に5を加えたものとします。また、管理部門ID(adept_id)は、元になる部門の部門ID(dept_id)とします。

    INSERT INTO department 
    	SELECT dept_id + 5, '第2' || dept_name, loc, mgr_id, dept_id from department
    
    DB20000I  SQL コマンドが正常に終了しました。
    
    SELECT * from department ORDER BY dept_id
    
    結果表
    DEPT_ID     DEPT_NAME            LOC                  MGR_ID      ADEPT_ID
    ----------- -------------------- -------------------- ----------- -----------
             10 営業部               東京都千代田区                 1          30
             15 第2営業部            東京都千代田区                 1          10
             20 開発部               東京都港区                     3          30
             25 第2開発部            東京都港区                     3          20
             30 企画部               東京都中央区                   5          40
             35 第2企画部            東京都中央区                   5          30
             40 管理部               東京都台東区                   8          40
             45 第2管理部            東京都台東区                   8          40
             50 製造部               東京都大田区                   -          50
             55 第2製造部            東京都大田区                   -          50
    
      10 レコードが選択されました。
    
Top
■実習

  1. 担当者表(employee)に、自分の情報を入れてください。

    => insert ...
    DB20000I  SQL コマンドが正常に終了しました。
    
    => SELECT * from employee ORDER BY emp_id;
    
    EMP_ID      DEPT_ID     EMP_NAME             BIRTHDAY   HIREDATE   SEX         SAL        
    ----------- ----------- -------------------- ---------- ---------- ----------- -----------
              1          10 羽生 章洋            1978-10-10 1990-12-17           1      800.00
              2          10 釜本 喜美子          1975-05-20 1991-02-20           2     1600.00
              3          20 安部 弘江            1974-06-01 1991-02-22           2     1250.00
              4          20 松村 秀和            1970-09-13 1991-04-02           1     2975.00
              5          30 萩原 恵理子          1985-03-16 2008-09-28           2     1250.00
              6          30 岡田 奈緒子          1983-12-24 2007-05-01           2     2850.00
              7          30 井上 尚志            1971-10-17 2000-11-15           1     2450.00
              8          40 西口 麻衣子          1986-12-14 2008-12-03           2     3000.00
              9          40 滝本 順三            1978-04-02 2004-12-18           1     5000.00
             10          40 工藤 新一            1990-02-10 1999-04-01           1     1500.00
             11          90 毛利光太郎           1970-12-31 1990-04-01           1     8000.00
             20          40 山田 花子           1980-01-02 2005-04-26           2     4000.00
             21           - 渡辺 健一           -          -                    -           -
             22           - 渡辺 健一           -          -                    -           -
            100          10 丸野 一夫           1972-07-01 2005-04-26           1     5000.00
    
      15 レコードが選択されました。
    
  2. 顧客表(customer)に、担当者表のつぎのデータをコピーして、追加してください。下記以外のデータは、NULLでかまいません。

    => insert ...
    DB20000I  SQL コマンドが正常に終了しました。
    
    SELECT * from customer ORDER BY cust_id
    
    CUST_ID     CUST_NAME            ADDRESS                                  TEL                  FAX                 
    ----------- -------------------- ---------------------------------------- -------------------- --------------------
              1 阪上 徹              和歌山県和歌山市                         073-123-XXXX         073-123-XXXX        
              2 松坂 宏              東京都千代田区                           03-3158-XXXX         03-3258-XXXX        
              ... (略) ...
             20 藤田 幹夫            東京都中央区                             03-3578-XXXX         -                   
           1001 羽生 章洋            -                                        -                    -                   
           1002 釜本 喜美子          -                                        -                    -                   
              ... (略) ...
           1022 渡辺 健一           -                                        -                    -                   
           1100 丸野 一夫           -                                        -                    -                   
    
      35 レコードが選択されました。
    
Top

■INSERT文の構文

Top

inserted by FC2 system