SQL Server에서 데이터를 입력하기 위해서는 INSERT 문을 사용한다. SQL Server 2008부터 여러 행을 입력할 수 있는 기능이 추가되었으며, SELECT 해서 INSERT 하는 방법으로도 여러 건의 데이터를 입력할 수 있다. INSERT와 UPDATE를 동시에 수행하기 위해서는 MERGE 문을 사용하거나 프로시저를 생성하여 사용하면 된다.
기본적인 INSERT 방법
INSERT INTO [테이블명] ([칼럼1], [칼럼2], [칼럼3] ...) VALUES ([값1], [값2], [값3] ...)
입력할 칼럼의 개수와 값을 개수를 동일하게 입력하면 된다.
INSERT INTO dbo.dept(deptno, dname, loc)
VALUES(50, 'IT TEAM', 'SEOUL');
입력할 테이블(dept)의 모든 칼럼을 입력할 경우 입력할 칼럼(deptno, dname, loc) 선언은 생략해도 되지만 테이블에 칼럼이 추가되면 INSERT 쿼리 문도 수정해야 하므로 되도록이면 입력할 칼럼을 작성하자.
INSERT INTO dbo.dept VALUES (60, 'DEV TEAM', 'PANGYO')
동시에 여러 행 INSERT 방법
INSERT INTO [테이블명] ([칼럼]) VALUES ([입력 행1]), ([입력 행2]), ([입력 행3]) ...
VALUES 뒤에 입력할 행을 쉼표(,)로 구분하여 여러 행을 한 번에 입력할 수 있다.
해당 기능은 SQL Server 2008부터 지원한다.
insert into dbo.dept(deptno, dname, loc) values(70, 'DBA TEAM', 'YEOKSAM'), (80, 'DESIGN TEAM'), ('GANGNAM');
SELECT 결과 INSERT 방법
INSERT INTO [테이블명] ([칼럼1], [칼럼2], [칼럼3] ...) SELECT [값1], [값2], [값3] ... FROM [테이블명] WHERE ...
INSERT INTO dbo.dept (deptno, dname, loc)
SELECT deptno + 1
, dname
, 'JEJU ISLAND'
FROM dept
WHERE deptno IN (60, 70, 80);
'프로그래밍 언어 > SQL' 카테고리의 다른 글
[SQL] 정규화(Normalization)와 반정규화(De-Normalization) (0) | 2024.07.31 |
---|---|
[SQL] GROUP BY 절 사용법 (그룹별 집계) (0) | 2024.07.29 |
[DB] 트랜잭션 (Transaction) 4가지 특성 (0) | 2024.07.15 |
[데이터베이스] 스키마란? 개념 스키마, 내부 스키마, 외부 스키마 (1) | 2024.05.27 |
[데이터베이스] 용어 정리 - 릴레이션, 어트리뷰트, 튜플, 도메인, 차수, 카디널리티, 스키마 (1) | 2024.05.27 |