Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 한 테이블의 특정 열만 다른 테이블로 복사하는 방법

MySQL에서는 CREATE TABLE ... SELECT 구문을 활용하면 기존 테이블의 일부 열만 골라서 새로운 테이블로 손쉽게 복사할 수 있습니다. 이 글에서는 실제 예제를 통해 그 과정을 단계별로 살펴보겠습니다.

1. 샘플 테이블 생성

먼저 원본이 될 테이블을 생성합니다.

mysql> create table DemoTable1
-> (
-> Id int,
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.53 sec)

2. 데이터 삽입

INSERT 명령어를 사용하여 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable1 values(10,'John');
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable1 values(11,'Chris');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DemoTable1 values(12,'Robert');
Query OK, 1 row affected (0.32 sec)

3. 저장된 데이터 확인

SELECT 문으로 테이블에 저장된 전체 레코드를 조회합니다.

mysql> select *from DemoTable;

출력 결과

위 쿼리는 다음과 같은 결과를 출력합니다.

+------+--------+
| Id   | Name   |
+------+--------+
|   10 | John   |
|   11 | Chris  |
|   12 | Robert |
+------+--------+
3 rows in set (0.00 sec)

4. 특정 열만 새 테이블로 복사하기

다음은 DemoTable1에서 Name 열만 선택하고, 조건(Id=11)에 맞는 데이터를 DemoTable2라는 새 테이블로 복사하는 쿼리입니다.

mysql> create table DemoTable2 (
-> select Name from DemoTable1 where Id=11
-> );
Query OK, 1 row affected (0.70 sec)
Records: 1 Duplicates: 0 Warnings: 0

5. 복사 결과 확인

DemoTable2의 레코드를 조회하여 데이터가 정상적으로 복사되었는지 확인합니다.

mysql> select *from DemoTable2;

출력 결과

위 쿼리는 다음과 같은 결과를 출력합니다.

+-------+
| Name  |
+-------+
| Chris |
+-------+
1 row in set (0.00 sec)

이처럼 CREATE TABLE ... SELECT 구문에 WHERE 절을 함께 사용하면, 원하는 조건에 맞는 특정 열의 데이터만 새 테이블로 간편하게 복사할 수 있습니다. 테이블 백업이나 부분 데이터 추출이 필요할 때 매우 유용하게 활용됩니다.