MySQL에서는 일반적인 INSERT INTO ... VALUES 구문 외에도 SET 절을 사용해 데이터를 삽입할 수 있습니다. 이 방식은 컬럼명과 값을 나란히 지정하기 때문에 어떤 값이 어느 컬럼에 들어가는지 한눈에 파악하기 쉬워 가독성이 뛰어납니다.
아래 예제를 통해 SET 절을 사용한 데이터 삽입 과정을 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable1544
-> (
-> Id int ,
-> Name varchar(20)
-> );
Query OK, 0 rows affected (2.47 sec)
Id와 Name 두 개의 컬럼을 가진 DemoTable1544 테이블이 성공적으로 생성되었습니다.
2. SET 절을 사용한 데이터 삽입
이제 INSERT 명령어와 함께 SET 절을 사용하여 여러 레코드를 순차적으로 삽입합니다.
mysql> insert into DemoTable1544 set Id=101,Name='John Doe';
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1544 set Id=102,Name='Adam Smith';
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable1544 set Id=103,Name='Chris Brown';
Query OK, 1 row affected (0.12 sec)
SET 절에서는 컬럼명=값 형태로 각 필드를 쉼표(,)로 구분하여 지정합니다. 세 개의 레코드가 모두 정상적으로 삽입된 것을 확인할 수 있습니다.
3. 삽입된 데이터 확인
SELECT 문을 사용하여 테이블에 저장된 모든 레코드를 조회합니다.
mysql> select * from DemoTable1544;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+------+-------------+
| Id | Name |
+------+-------------+
| 101 | John Doe |
| 102 | Adam Smith |
| 103 | Chris Brown |
+------+-------------+
3 rows in set (0.00 sec)
정리
SET 절은 MySQL에서 지원하는 확장 문법으로, 단일 행을 삽입할 때 특히 유용합니다. VALUES 구문처럼 컬럼 순서와 값의 순서를 맞추지 않아도 되고, 컬럼명이 명시적으로 드러나기 때문에 코드 유지보수 측면에서도 장점이 있습니다. 다만 여러 행을 한 번에 삽입할 때는 VALUES 구문이 더 효율적이므로 상황에 맞게 선택하여 사용하는 것이 좋습니다.