ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MSSQL] INSERT INTO 문.테이블에 데이터 추가하기
    IT /DataBase 2013. 5. 28. 22:54
    728x90

       

    INSERT 문의 기본 구조를 살펴보면

       

    INSERT INTO [MINING MODEL]|[MINING STRUCTURE] <model>|<structure> (<mapped model columns>) <source data query>

       

    INSERT INTO [MINING MODEL]|[MINING STRUCTURE] <model>|<structure>.COLUMN_VALUES (<mapped model columns>) <source data query>

       

    현기증 나려고 하니까 아래 걸로 봅시다

       

       

    INSERT INTO 테이블 이름 (1, 2, ...)

    VALUE (1, 2 , ….)

       

    INSERT INTO 테이블이름 ( 1,2,3,4 .)

    SELECT 테이블에 들어갈

    FROM selct값을 구하기 위한 테이블

    WHERE 조건

       

       

    바로 값을 입력해주는 것과 select문을 이용해서 조건에 맞는 값을 입력하는 경우가 있습

    니다.

       

       

    만들어 놓은 userTbl ItemTbl 값을 입력 해봅시다.

    아직 껍데기 밖에 없는 테이블에 INSERT INTO 문을 이용해 데이터를 입력합시다 .

       

       

       

    insert into usertbl

    values ('덕배', 2, 'db2', '010-1234-5678', '감기')

    --테이블에 컬럼순서대로 이름,나이,ID,전화번호,코멘트 순으로 입력을 해줍니다.


    insert into Itemtbl

    values ('db2','감자','호미','',1200)

    --역시 순서대로 ID, item1, item2, item3, money 순으로 입력해줍니다.

       

    select * from userTbl

    select * from ItemTbl

       

    select 결과 순서대로 입력이 됐습니다.

       

       

       

    간단하게 개의 테이블에 하나씩 자료를 입력해봤습니다.

    INSERT INTO 테이블 VALUES 이용하는 방법도 있지만

       

       

    이번엔 다른 방법을 이용해서 입력을 해보겠습니다.

    다른 테이블에 있는 값들을 조건에 맞춰서 가지고 오는 방법입니다.

       

    다시 한번 구문은

       

    INSERT INTO 테이블이름 ( 1,2,3,4 .)

    SELECT 테이블에 들어갈

    FROM select값을 구하기 위한 테이블

    WHERE 조건

       

    이렇게 사용합니다.


    먼저 일반 인서트로 자료를 추가합시다 가져올수가 있으니까요 

    널값은 신경쓰지 말고 이름과 아이디만 입력을 합니다. 

     

    insert into usertbl (username, userid) values ('춘배' , 'cnsqo12') 

    insert into usertbl (username, userid) values ('정배' , 'wjdqo') 

    insert into usertbl (username, userid) values ('순배' , 'tnsqo89') 

    insert into usertbl (username, userid) values ('영순이' , '0tnsdl') 

    insert into usertbl (username, userid) values ('김덕팔' , 'ejrvkf12') 

     

     


    이제 insert into ...select..from.. where .. 절을 사용해보겠습니다. 

     

    insert into itemtbl (userid) 

    --itemtbl에 있는 userid 필드에 입력을 할겁니다. 

    select userid  

    --조건에서 가지고올 값입니다. userid만 가지고옵니다. 

    from usertbl  

    --위 select에 userid값을 가지고올 테이블입니다. 

    where userid <> '' 

    --조건은 userid 에 값이 잇을 경우 입니다. 

     

    select * from itemtbl

     

    id값만 가지고와서 입력이 되었습니다.  

    있는경우를 모두 가지고 와서 덕배 아이디 db2가 한번더 입력이 됬네요 

     

    다음 삭제를 알아볼때 지워보도록 하겠습니다.


       

    INSERT INTO 문을 사용 때에는 이케이케 해주어야 합니다.

       

    1. 이미 userTbl 테이블이랑 ItemTbl 테이블이 있듯이 기존에 테이블이 존재해야 입력이 가능합니다.

         

    2. 입력된 열이름의 순서에 따라서 값도 순서대로 입력이 되어야 합니다.

      잘못하면 이름이 감자가.. 

         

    3. 컬럼명이 명시 되어있지 않을 경우에는 모든 컬럼에 대하여 값을 입력해주어야 합니다.

      이런 경우에는 not null 지정되어 있으면 똑같이 오류가 ~

      순서에 맞게 하나하나 입력을 해주어야 합니다.

         

    4. 3번과 마찬가지로 not null 경우에는 필수로 입력을 해주어야 합니다.

         

       

       

       

Designed by Tistory.