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

MySQL 자체 계산 출력을 활용해 테이블에 값을 삽입하는 방법

MySQL에서 반환되는 자체 계산 출력(self-computed output)을 활용하면 별도의 값 없이도 테이블에 데이터를 삽입할 수 있습니다. 이 방식을 사용하면 더미(dummy) 테이블인 dual을 굳이 지정할 필요가 없다는 장점이 있습니다.

기본 문법

INSERT INTO table_name(column1, column2, column3, …) Select value1, value2, value3, …;

즉, INSERT 문의 VALUES 절 대신 SELECT 문을 사용하여 원하는 값을 직접 선택(select)한 것처럼 삽입하는 방식입니다.

예제

아래 예제에서는 MySQL의 자체 계산 출력을 이용하여 testing 테이블에 값을 삽입하는 과정을 보여줍니다.

1. 테이블 생성

mysql> Create table testing(id int, item_name varchar(10));
Query OK, 0 rows affected (0.15 sec)

2. 자체 계산 출력으로 데이터 삽입

mysql> Insert into testing (id,item_name)Select 1,'Book';
Query OK, 1 row affected (0.11 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> Insert into testing (id,item_name)Select 2,'Pen';
Query OK, 1 row affected (0.11 sec)
Records: 1 Duplicates: 0 Warnings: 0

3. 삽입 결과 확인

mysql> select * from testing;

+------+-----------+
| id   | item_name |
+------+-----------+
| 1    | Book      |
| 2    | Pen       |
+------+-----------+

2 rows in set (0.00 sec)

위 결과를 보면 Select 구문을 통해 반환된 값들이 정상적으로 testing 테이블에 저장된 것을 확인할 수 있습니다. 이처럼 SELECT 문을 활용한 삽입 방식은 단순히 값을 넣는 것뿐만 아니라, 다른 테이블에서 조회한 결과를 그대로 삽입하는 등 다양하게 응용할 수 있어 실무에서 유용하게 사용됩니다.