[MSSQL] INSERT INTO 문.테이블에 데이터 추가하기
일단 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 문을 사용 할 때에는 이케이케 해주어야 합니다.
-
이미 userTbl 테이블이랑 ItemTbl 테이블이 있듯이 기존에 테이블이 존재해야 입력이 가능합니다.
-
입력된 열이름의 순서에 따라서 값도 순서대로 입력이 되어야 합니다.
잘못하면 이름이 감자가..
-
컬럼명이 명시 되어있지 않을 경우에는 모든 컬럼에 대하여 값을 입력해주어야 합니다.
이런 경우에는 not null로 지정되어 있으면 똑같이 오류가 팡~
순서에 맞게 하나하나 입력을 다 해주어야 합니다.
-
3번과 마찬가지로 not null 일 경우에는 필수로 입력을 해주어야 합니다.