[MSSQL] INSERT 문 사용법 3가지 (데이터 입력)

SQL Server에서 데이터를 입력하기 위해서는 INSERT 문을 사용한다. SQL Server 2008부터 여러 행을 입력할 수 있는 기능이 추가되었으며, SELECT 해서 INSERT 하는 방법으로도 여러 건의 데이터를 입력할 수 있다. INSERT와 UPDATE를 동시에 수행하기 위해서는 MERGE 문을 사용하거나 프로시저를 생성하여 사용하면 된다.

 

MSSQL INSERT문 사용법

목차
  1. 기본적인 INSERT 방법
  2. 동시에 여러 행 INSERT 방법
  3. SELECT 결과 INSERT 방법

 

기본적인 INSERT 방법

INSERT INTO dbo.dept (deptno, dname, loc) 
VALUES (50, 'IT TEAM', 'SEOUL')

 

INSERT INTO [테이블명] ([칼럼1], [칼럼2], [칼럼3] ...) VALUES ([값1], [값2], [값3] ...)

입력할 칼럼의 개수와 값을 개수를 동일하게 입력하면 된다. 

 

INSERT INTO dbo.dept VALUES (60, 'DEV TEAM', 'PANGYO')

 

입력할 테이블(dept)의 모든 칼럼을 입력할 경우 입력할 칼럼(deptno, dname, loc)  선언은 생략해도 된다. 

 

테이블에 칼럼이 추가되면 INSERT 쿼리 문도 수정해야 하므로 권장하지는 않는다.

되도록이면 귀찮아도 입력할 칼럼을 선언하여 쿼리문을 작성할 것을 권장한다.

 

동시에 여러 행 INSERT 방법

INSERT INTO dbo.dept (deptno, dname, loc) 
VALUES (70, 'DBA TEAM', 'YEOKSAM'), (80, 'DESIGN TEAM', 'GANGNAM')

 

INSERT INTO [테이블명] ([칼럼]) VALUES ([입력 행1]), ([입력 행2]), ([입력 행3]) ...

 

VALUES 뒤에 입력할 행을 쉼표(,)로 구분하여 여러 행을 한 번에 입력할 수 있다.

해당 기능은 SQL Server 2008부터 지원한다.

 

SELECT 결과 INSERT 방법

INSERT INTO dbo.dept (deptno, dname, loc) 
     SELECT deptno + 1
          , dname
          , 'JEJU ISLAND'
       FROM dept
      WHERE deptno IN (60, 70, 80)

 

INSERT INTO [테이블명] ([칼럼1], [칼럼2], [칼럼3] ...) SELECT [값1], [값2], [값3] ... FROM [테이블명] WHERE ...

 

INSERT 문의 칼럼 개수와 테이터 형식을 SELECT 절에서 칼럼의 개수와 데이터 형식을 동일하게 조회하여 여러 건의 데이터를 한 번에 입력할 수 있다. 자주 사용하는 INSERT 방법이니 알고 있으면 많은 도움이 된다.

DEPT 테이블 생성 스크립트.txt
0.00MB

 

 

[MSSQL] MERGE 문 (UPDATE와 INSERT를 한번에)

MERGE 문을 사용하면 변경할 테이블에 데이터가 존재하는지 체크하고, UPDATE, DELETE, INSERT를 한 번에 작업이 가능하다. MERGE 문을 사용하지 않을 경우 해당 조건으로 테이블을 SELECT 한 후 IF 조건을

gent.tistory.com

 

[MSSQL] 테이블 생성 방법 2가지 (Create Table)

SQL Server에서 테이블을 생성할 때는 대부분 CREATE TABLE 문을 사용해서 테이블을 생성한다. 그러나 SQL 문이 익숙하지 않을 때는 SSMS 툴을 사용하면 조금 더 쉽게 테이블을 생성하거나 테이블 속성을

gent.tistory.com

 

 

댓글

Designed by JB FACTORY