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

MySQL에서 INSERT 시 특정 열 이름을 생략하고 값을 삽입하는 방법

MySQL에서 값 삽입 시 열 이름을 생략할 수 있을까?

네, 가능합니다. MySQL에서 INSERT 문을 사용할 때 테이블의 모든 열을 지정하지 않고, 원하는 열만 선택적으로 지정하여 값을 삽입할 수 있습니다. 이때 생략된 열에는 NULL 값(기본값이 설정되어 있다면 해당 기본값)이 자동으로 채워집니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
-> (
-> StudentName varchar(100),
-> StudentAge int
-> );
Query OK, 0 rows affected (0.72 sec)

2. 일부 열만 지정하여 데이터 삽입하기

insert 명령을 사용하여 StudentAge 열과 StudentName 열을 각각 따로 지정해 레코드를 삽입합니다.

mysql> insert into DemoTable(StudentAge) values(23);
Query OK, 1 row affected (0.22 sec)

mysql> insert into DemoTable(StudentName) values('John');
Query OK, 1 row affected (0.21 sec)

첫 번째 INSERT 문은 StudentAge 열만 지정했고, 두 번째 INSERT 문은 StudentName 열만 지정했습니다. 이처럼 필요한 열만 골라서 값을 넣을 수 있습니다.

3. 결과 확인하기

select 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

실행하면 다음과 같은 결과가 출력됩니다. 삽입 과정에서 생략된 열에는 NULL 값이 자동으로 저장된 것을 확인할 수 있습니다.

+-------------+------------+
| StudentName | StudentAge |
+-------------+------------+
| NULL | 23 |
| John | NULL |
+-------------+------------+
2 rows in set (0.00 sec)

정리

INSERT 문에서 열 목록을 명시할 때 원하는 열만 선택적으로 작성하면 되며, 나머지 열에는 NULL 또는 DEFAULT 값이 저장됩니다. 다만 NOT NULL 제약 조건이 설정된 열을 생략하면 에러가 발생하므로, 테이블 구조를 고려해 사용하는 것이 좋습니다.