SQL - INSERT 쿼리: 초보자 가이드

안녕하세요, 미래의 데이터베이스 마법사 여러분! 오늘 우리는 SQL INSERT 쿼리의 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 교사로서, 저는 여러분이 중요한 개념을 이해하고 데이터베이스에 유용한 정보를 채우는 데 도움을 드리기 위해 여기 있습니다. 그럼 커피(또는 차, 당신이 좋아하는 것)를 한 잔 마시고, 시작해 보겠습니다!

SQL - Insert Query

SQL INSERT INTO 문구

INSERT 문장이란?

아름답게 설계된 데이터베이스 테이블이 있지만, 비어 있어서 슬프네요! 여기 INSERT 문장이 구원자로 등장합니다. 새로운 레코드(행)를 테이블에 추가할 수 있는 마법의 주문 같은东西입니다.

기본 문법

INSERT 문장의 기본 문법은 다음과 같습니다:

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

이를 해부해 보면:

  • INSERT INTO는 SQL에게 새로운 데이터를 추가하려는 것을 알립니다
  • table_name은 데이터를 추가할 테이블을 지정합니다
  • 괄호 안의 열은 채우고 싶은 열을 나타냅니다
  • VALUES 키워드는 실제 추가할 데이터를 소개합니다

예제 1: 단일 행 추가

students라는 테이블이 있으며, id, name, age 열을 가지고 있다고 가정해 봅시다. 새로운 학생을 추가하는 방법은 다음과 같습니다:

INSERT INTO students (id, name, age)
VALUES (1, 'John Doe', 20);

이는 students 테이블에 ID 1, 이름 "John Doe", 나이 20의 새로운 행을 추가합니다.

예제 2: 여러 행 추가

한 번에 여러 학생을 추가하고 싶다면? 문제ありません! 여러 번 추가할 수 있습니다:

INSERT INTO students (id, name, age)
VALUES
(2, 'Jane Smith', 22),
(3, 'Bob Johnson', 21),
(4, 'Alice Brown', 23);

이 단일 쿼리는 테이블에 세 명의 새로운 학생을 추가합니다. 효율적이지 않나요?

다른 테이블에서 테이블에 데이터 추가

때로는 하나의 테이블에서 다른 테이블로 데이터를 복사하고 싶을 수 있습니다. SQL은 이를 매우 간편하게 만들어 줍니다!

문법

다른 테이블에서 데이터를 추가하는 문법은 다음과 같습니다:

INSERT INTO table1 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table2
WHERE condition;

예제 3: 테이블 간 데이터 복사

honor_roll이라는 테이블이 있으며, students 테이블에서 21세 이상인 모든 학생을 추가하고 싶다고 가정해 봅시다:

INSERT INTO honor_roll (student_id, student_name)
SELECT id, name
FROM students
WHERE age >= 21;

이 쿼리는 students 테이블에서 21세 이상인 모든 학생의 idnamehonor_roll 테이블에 복사합니다.

지정된 열에 데이터 추가

때로는 모든 열을 채우지 않고 데이터를 추가해야 할 수 있습니다. SQL은 이를 충분히 유연하게 처리할 수 있습니다!

예제 4: 부분 데이터 추가

새로운 학생을 추가하지만 이번에는 나이를 모르는 경우:

INSERT INTO students (id, name)
VALUES (5, 'Eva Green');

이 경우 Eva의 age 열은 NULL 값(또는 테이블 정의에 지정된 기본 값)으로 채워집니다.

예제 5: DEFAULT 값 사용

테이블에 기본 값이 정의된 특정 열을 명시적으로 사용하고 싶다면:

INSERT INTO students (id, name, age)
VALUES (6, 'Frank White', DEFAULT);

이는 age 열에 기본 값이 정의되어 있다고 가정합니다.

프로 팁과 좋은 관행

  1. 항상 열을 나열하세요: 모든 열에 대해 값을 추가하더라도 명시적으로 열을 나열하면 코드가 더 읽기 쉽고 오류에 강합니다.

  2. 트랜잭션을 사용하세요: 여러 행을 추가할 때, INSERT 문장을 트랜잭션으로 감싸면 모든 추가가 성공하거나 모두 실패합니다.

  3. 데이터를 검증하세요: 추가하기 전에 데이터가 테이블의 요구 사항(데이터 유형, 제약 조건 등)을 충족하는지 확인하세요.

  4. 자동 증가 열에 주의하세요: 자동 증가 열(예: ID 열)의 값을 지정할 필요는 일반적으로 없습니다.

일반 INSERT 방법

아래 표는 우리가 다룰 수 있는 INSERT 방법을 요약합니다:

방법 설명 예제
기본 INSERT 단일 행에 지정된 값을 추가 INSERT INTO table (col1, col2) VALUES (val1, val2);
다중 행 INSERT 한 번에 여러 행을 추가 INSERT INTO table (col1, col2) VALUES (val1, val2), (val3, val4);
SELECT와 함께 INSERT 다른 테이블에서 데이터를 복사 INSERT INTO table1 SELECT col1, col2 FROM table2 WHERE condition;
부분 INSERT 지정된 열에 데이터 추가 INSERT INTO table (col1) VALUES (val1);
DEFAULT 값과 함께 INSERT 일부 열에 기본 값 사용 INSERT INTO table (col1, col2) VALUES (val1, DEFAULT);

그리고 여러분, 열정적인 학습자 여러분! 여러분이 SQL INSERT 쿼리의 세계로 첫 걸음을 뗐습니다. 연습이 완벽을 만들어 준다는 것을 기억하고, 이 개념들을 실험해 보지 마세요! 얼마 지나지 않아 프로처럼 데이터를 추가할 수 있을 것입니다!

행복하게 코딩하시고, 여러분의 데이터베이스가 항상 완벽하게 채워지길 바랍니다!

Credits: Image by storyset