SQL - INSERT 쿼리: 초보자 가이드
안녕하세요, 미래의 데이터베이스 마법사 여러분! 오늘 우리는 SQL INSERT 쿼리의 세계로 흥미로운 여정을 떠납니다. 여러분의 친절한 이웃 컴퓨터 교사로서, 저는 여러분이 중요한 개념을 이해하고 데이터베이스에 유용한 정보를 채우는 데 도움을 드리기 위해 여기 있습니다. 그럼 커피(또는 차, 당신이 좋아하는 것)를 한 잔 마시고, 시작해 보겠습니다!
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세 이상인 모든 학생의 id
와 name
을 honor_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
열에 기본 값이 정의되어 있다고 가정합니다.
프로 팁과 좋은 관행
-
항상 열을 나열하세요: 모든 열에 대해 값을 추가하더라도 명시적으로 열을 나열하면 코드가 더 읽기 쉽고 오류에 강합니다.
-
트랜잭션을 사용하세요: 여러 행을 추가할 때, INSERT 문장을 트랜잭션으로 감싸면 모든 추가가 성공하거나 모두 실패합니다.
-
데이터를 검증하세요: 추가하기 전에 데이터가 테이블의 요구 사항(데이터 유형, 제약 조건 등)을 충족하는지 확인하세요.
-
자동 증가 열에 주의하세요: 자동 증가 열(예: 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