본문 바로가기
DBMS/MYSQL

[MYSQL] INSERT문 사용법 및 예제 ( 다중 레코드, SELECT문 추가 )

by 각종정보라구 2024. 7. 3.

안녕하세요. 똥돼지입니다.

이번에는 MySql에서 많이 사용하는 SELECT(조회), INSERT(삽입), DELETE(삭제) Query문 중에서
INSERT문(삽입)에 대하여 작성해보려고 합니다.


MYSQL INSERT(삽입)문으로 레코드 삽입/추가

 

INSERT문은 테이블에 새로운 레코드를 추가하기 위해 사용하는 Query문입니다.

기본적으로 사용하는 INSERT INTO ~ VALUES ~문부터 시작하겠습니다.

 

1. 테이블 전체 컬럼 레코드 값 추가

-- 전체 컬럼에 데이터값 입력하여 레코드 추가
INSERT INTO [테이블명]
VALUES ('데이터값1', '데이터값2', '데이터값3', ...);

-- 예제 ( member 테이블의 김철수에 대한 데이터 추가 )
INSERT INTO member
VALUES ('김철수', '남', '010-0000-0001', '서울');

※ 모든 데이터를 넣어야 하지만 생략되는 칼럼 역시 존재한다.
1. NULL이 저장되는 컬럼
2. DEFALUT 제약 조건이 설정된 컬럼
3. AUTO_INCREAMENT(자동 증가) 키워드가 설정된 컬럼

 

2. 테이블의 특정 칼럼에 레코드 값 추가

-- 특정 컬럼을 지정한 후 데이터값 입력하여 레코드 추가
INSERT INTO [테이블명] (컬럼명1, 컬럼명2, 컬럼명3, ...)
VALUES ('데이터값1', '데이터값2', '데이터값3', ...);

-- 예제 ( member 테이블의 김철수에 대한 이름, 전화번호만 데이터에 넣고 레코드 추가 )
INSERT INTO member (name, hp)
VALUES ('김철수', '010-0000-0001');

 

3. 다중으로 여러 레코드를 추가

-- 다중 레코드 추가
INSERT INTO [테이블명] (컬럼명1, 컬럼명2, 컬럼명3, ...)
VALUES ('데이터값1', '데이터값2', '데이터값3', ...),
       ('데이터값1', '데이터값2', '데이터값3', ...),
       ('데이터값1', '데이터값2', '데이터값3', ...)
       ...;

-- 예제 ( 여러 사람의 데이터를 member 테이블의 레코드 추가 )
INSERT INTO member (name, hp)
VALUES ('김철수', '010-0000-0001'),
       ('박영희', '010-0000-0002'),
       ('홍길동', '010-0000-0003');

이때 다중으로 들어가야 할 칼럼들의 데이터형이나 개수가 맞아야 한다.

 

4. 특정 테이블의 내용을 해당 테이블에 넣을 경우

( INSERT INTO ~ SELECT ~ 문 )

-- 특정 테이블의 데이터를 레코드에 추가
INSERT INTO [테이블명1] (컬럼명1, 컬럼명2, 컬럼명3, ...)
SELECT (컬럼명1, 컬럼명2, 컬럼명3, ...) FROM [테이블명2] WHERE [컬럼명] = '데이터값';

-- 예제 ( phone 테이블의 성이 김씨로 시작하는 이름, 전화번호를 member 테이블 레코드로 추가 )
INSERT INTO member (name, hp)
SELECT name, hp
  FROM phone
 WHERE name LIKE '김%';

이때 조회 시 출력되는 컬럼들의 데이터형이나 개수가 맞아야 한다.

댓글