Study/DB

[MySQL] INSERT INTO 데이터 입력 기본 사용법

 

INSERT문은 데이터베이스 테이블에 데이터를 등록할 때 사용합니다.

 

기본 구조

기본적인 구조는 다음과 같습니다.

INSERT INTO [테이블명] (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...)

 

데이터를 넣고자 하는 테이블명과 어떤 컬럼에 데이터를 넣을지 컬럼 목록을 입력하고,

등록하고자 하는 값을 VALUES 뒤에 입력합니다.

 

주의할 점은 컬럼 개수와 값의 개수가 맞아야 합니다.

그리고 컬럼과 값의 타입이 맞아야 합니다.

 

컬럼의 순서는 실제 DB 테이블의 컬럼 순서와 달라도 괜찮습니다.

예를 들면, id, name, address 순서로 되어있는 테이블에 name, id, address로 컬럼을 입력하고 실행해도 됩니다.

컬럼과 데이터만 맞춰주면 됩니다.

 

예제

예제에 사용할 테이블 CREATE 구문은 다음과 같습니다.

# 예제에 사용할 테이블
create table tb_1 (
	id int(11) not null auto_increment primary key comment 'key',
	name varchar(255) not null comment '이름',
	address varchar(255) null default '' comment '주소'
);

 

데이터 1건 삽입

데이터를 1건만 넣고 싶을 때는 위에서 설명한 구조를 그대로 사용하면 됩니다.

# 데이터 1건 등록 쿼리 예제
insert into tb_1 (id, name, address) values (1, 'Kim', 'Seoul');

INSERT INTO 구문으로 데이터 1건 등록 완료
INSERT INTO 구문으로 데이터 1건 등록 완료

 

데이터가 1건 등록되었습니다.

 

꼭 모든 컬럼을 다 넣어서 INSERT 쿼리를 실행하지 않아도 됩니다.

insert into tb_1 (id, name) values (2, 'Lee');

일부 컬럼에만 INSERT 가능
일부 컬럼에만 INSERT 가능

일부 컬럼에만 데이터를 넣을 수도 있습니다.

다만, NOT NULL 조건이 있는 컬럼은 제외하면 안됩니다.

NOT NULL 이 걸린 컬럼을 INSERT 구문에서 제외하고 싶으면 컬럼에 기본값을 설정하면 됩니다.

 

만약에 AUTO_INCREMENT가 사용된 컬럼, PK가 적용된 컬럼을 제외하면 다음과 같이 등록됩니다.

AUTO_INCREMENT가 적용된 PK 컬럼을 제외했을 때
AUTO_INCREMENT가 적용된 PK 컬럼을 제외했을 때

AUTO_INCREMENT에 의해 자동으로 번호가 매겨졌습니다.

 

 

 

 

데이터 여러개 한번에 삽입

INSERT 구문으로 데이터를 여러건 등록할 수 있습니다.

# INSERT 데이터 여러개 등록
insert into tb_1 (name, address) 
values ('Choi', 'Incheon'), ('Kwon', 'Jeju'), ('Ryu', 'Daegu');

INSERT 데이터 여러개 등록
INSERT 데이터 여러개 등록

각 행에 들어갈 데이터 묶음을 쉼표로 구분해서 등록하고자 하는 데이터들을 입력해주면 됩니다.

 

읽으면 좋은 글

[MySQL] INSERT INTO SELECT 기본 사용법 및 예제

 

[MySQL] INSERT INTO SELECT 기본 사용법 및 예제

INSERT INTO SELECT 구문은 SELECT 쿼리의 결과를 가지고 테이블에 데이터를 삽입할 수 있게 해주는 쿼리입니다. 기본 구조 INSERT INTO [테이블명] (컬럼1, 컬럼2, ... ) SELECT 컬럼1, 컬럼2 .. FROM [테이블명] WHE

priming.tistory.com