테이블 복사 (새로운 테이블을 생성하면서 데이터도 추가)
SELECT * INTO [새로만들 테이블] FROM [복사할 테이블]
새로 만들어지는 테이블에 PRIMARY KEY, index, default, foreign Key 등 테이블의 제약조건은 복사되지 않습니다.
원하는 컬럼만 가지고 새로운 테이블을 생성하려면 일반 select쿼리처럼 컬럼을 적어주시면돼요.
SELECT column1, column2 INTO [새로만들 테이블] FROM [복사할 테이블]
위의 두 쿼리들은 테이블을 새로 생성하면서 데이터도 추가하는 쿼리인데요.
다음은 테이블의 구조만 복사하면서 새로운 테이블을 만드는 쿼리에요😀
SELECT * INTO [새로만들 테이블] FROM [복사할 테이블] WHERE 1 = 2
이런식으로 where문에 조건을 false를 걸어주시면돼요.
여기까지가 테이블의 복사였구요 여기서 중요한 부분은
SELECT INTO FROM
요 골격만 생각하시면돼요!
번외로 이미 있는 테이블에 SELECT한 데이터들을 넣는 쿼리입니다.😁
CREATE TABLE member(
id INT PRIMARY KEY IDENTITY(1,1),
name NVARCHAR(10)
)
INSERT INTO member (name) VALUES
('kim'),
('park'),
('lee')
SELECT *
FROM member
id | name |
---|---|
1 | kim |
2 | park |
3 | lee |
이렇게 데이터들이 있는 테이블에 그대로 똑같은 데이터를 넣어볼게요.
INSERT INTO member (name) -- values는 빠져요.
SELECT name
FROM member
id | name |
---|---|
1 | kim |
2 | park |
3 | lee |
4 | kim |
5 | park |
6 | lee |
이런식으로 SELECT를 이용하여 데이터를 복사(?), 삽입할 수 있습니다.