CodeGym /행동 /SQL SELF /INSERT INTO를 사용한 데이터 삽입의 기초

INSERT INTO를 사용한 데이터 삽입의 기초

SQL SELF
레벨 21 , 레슨 0
사용 가능

데이터 삽입이 뭐야?

상상해봐, 네가 대학교를 열었어. students 같은 테이블로 학생 정보를 저장하는 데이터베이스가 있지. 이제 어떤 학생들이 입학했는지 발표하고, 그 학생들의 데이터를 테이블에 추가해야 해. SQL에서는 이럴 때 INSERT INTO 명령어를 써. 이건 테이블에 새로운 행을 추가하는 거야 — 마치 Excel에서 직접 새 줄을 채우는 것처럼, 근데 훨씬 빠르고, 강력하고, 코드로 하는 거지!

데이터 추가는 단순한 작업에만 필요한 게 아니야. 온라인 쇼핑몰에서 주문을 기록하거나, 은행에서 거래 정보를 저장할 때도 쓰여. 대학교라면 학생, 교수 명단이나 시간표 같은 것도 다 이걸로 관리하지.

INSERT INTO 명령어의 기본 문법

SQL에서 INSERT INTO 명령어는 테이블에 새로운 행을 추가하는 가장 간단한 방법이야. 기본 문법을 한번 보자:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

구성요소 설명:

  1. table_name — 데이터를 추가할 테이블 이름이야.
  2. (column1, column2, column3, ...) — 값을 넣을 컬럼(열)들의 리스트야.
  3. VALUES (value1, value2, value3, ...) — 각 컬럼에 넣을 값들의 리스트야.

예시: students 테이블에 새로운 학생을 추가해보자. 테이블이 이렇게 있다고 해봐:

id name age course
1 Otto Song 18 수학

이제 INSERT INTO로 두 번째 학생을 추가해볼게:

INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, '컴퓨터과학');

이 쿼리를 실행하면 테이블이 이렇게 바뀔 거야:

id name age course
1 Otto Song 18 수학
2 Anna Lin 19 컴퓨터과학

모든 컬럼에 데이터 삽입하기

테이블의 모든 컬럼에 값을 넣고 싶을 때는 INSERT INTO에서 컬럼 이름을 생략할 수 있어. 단, 각 컬럼 순서대로 값을 다 넣어야 해.

문법:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

예시: students 테이블에 학생을 한 명 더 추가한다고 해보자:

INSERT INTO students
VALUES (3, 'Dan Sim', 20, '물리');

결과:

id name age course
1 Otto Song 18 수학
2 Anna Lin 19 컴퓨터과학
3 Dan Sim 20 물리

근데 이런 방식은 테이블 구조가 바뀌면 위험할 수 있어. 그래서 항상 컬럼 리스트를 명시하는 걸 추천해. 그래야 실수를 줄일 수 있거든.

실전: 학생 추가하기

이번엔 students 테이블에 새로운 학생을 추가하면서 INSERT INTO의 모든 기능을 써보자.

1단계: 현재 데이터 확인

먼저 테이블에 어떤 데이터가 있는지 확인하는 게 좋아. SELECT 명령어를 써보자:

SELECT * FROM students;

2단계: 새 학생 추가

이번엔 Peter Chi라는 학생을 추가해볼게. 이 친구는 "생물학"을 전공하고, 나이는 21살이야:

INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, '생물학');

3단계: 데이터가 잘 들어갔는지 확인

다시 한 번 전체 데이터를 조회해보자:

SELECT * FROM students;

결과:

id name age course
1 Otto Song 18 수학
2 Anna Lin 19 컴퓨터과학
3 Dan Sim 20 물리
4 Peter Chi 21 생물학

멋지지? 이제 Peter도 우리 대학교에 등록됐어.

INSERT INTO 쓸 때 흔한 실수들

컬럼과 값의 개수가 안 맞는 경우. 예를 들어 컬럼 4개를 지정했는데 값은 3개만 넣으면, SQL이 에러를 뱉어:

INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, '화학');

에러: 컬럼 개수와 값 개수가 맞지 않아.

제약조건 위반. 컬럼이 UNIQUE이거나 NOT NULL이면, 그 규칙을 어기면 에러가 나.

데이터 타입.

숫자 필드에 텍스트를 넣으려고 하면, PostgreSQL도 싫어해:

INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', '스물', '화학');

실제 프로젝트에서 왜 필요할까?

INSERT INTO 명령어를 아는 건, 데이터베이스를 쓰는 거의 모든 앱에서 꼭 필요한 스킬이야. 실제로 이 명령어는 이런 데서 쓰여:

  • 시스템에 새 사용자 등록할 때
  • 온라인 쇼핑몰에서 주문 추가할 때
  • 결제 시스템에서 결제 정보 저장할 때
  • 교육 시스템에서 학생, 출석, 성적 등 일일 데이터를 업데이트할 때

네 앱이 사용자나 외부 데이터랑 상호작용할 때마다, INSERT INTO는 그 데이터를 데이터베이스에 저장하는 핵심 도구가 돼.

백엔드 앱을 만들거나 데이터 처리용 API를 만들 계획이라면, SQL로 데이터 삽입하는 건 정말 기본이지만 엄청 중요한 능력이야!

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION