카테고리 없음
쿼리 INSERT문
deadlock
2025. 4. 13. 19:56
INSERT문 기초
INSERT문은 데이터베이스 테이블에 새로운 행(row)을 추가할 때 사용하는 SQL 명령어입니다. 다음은 INSERT문의 기본 내용입니다.
기본 구문
INSERT문은 주로 두 가지 형태로 사용됩니다:
sql
-- 형태 1: 열 이름을 명시하는 방법
INSERT INTO 테이블_이름 (열1, 열2, ...)
VALUES (값1, 값2, ...);
-- 형태 2: 모든 열에 값을 순서대로 입력하는 방법
INSERT INTO 테이블_이름
VALUES (값1, 값2, ...);
사용 예제
열 이름을 명시하는 방법
sql
INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id)
VALUES (207, 'Jane', 'Doe', 'JDOE', TO_DATE('2023-04-13', 'YYYY-MM-DD'), 'IT_PROG');
모든 열에 값을 입력하는 방법
sql
INSERT INTO departments
VALUES (280, 'Data Science', 100, 1700);
주요 특징
1. NULL 값 처리
- 명시적으로 NULL 입력 가능: INSERT INTO employees (employee_id, first_name, last_name) VALUES (208, 'John', NULL);
- 열 목록에서 생략하면 해당 열은 NULL 또는 기본값으로 설정됨
2. 기본값(DEFAULT) 사용
sql
-- DEFAULT 키워드를 사용하여 테이블에 정의된 기본값 사용
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (209, 'Mary', 'Johnson', DEFAULT);
3. 서브쿼리를 이용한 다중 행 삽입
sql
-- 다른 테이블의 데이터를 이용한 삽입
INSERT INTO emp_history (employee_id, start_date, end_date, job_id)
SELECT employee_id, hire_date, SYSDATE, job_id
FROM employees
WHERE department_id = 90;
4. 다중 행 삽입
sql
-- 오라클 12c 이상에서 지원
INSERT ALL
INTO employees VALUES (210, 'David', 'Kim', 'DKIM', '515.123.4567', SYSDATE, 'IT_PROG', 6000, NULL, 103, 60)
INTO employees VALUES (211, 'Sarah', 'Park', 'SPARK', '515.123.4568', SYSDATE, 'IT_PROG', 6500, NULL, 103, 60)
SELECT * FROM dual;
주의사항
- 기본 키(Primary Key): 중복된 기본 키 값으로 INSERT하면 오류가 발생합니다.
- 외래 키(Foreign Key): 참조 무결성을 위반하는 값을 입력하면 오류가 발생합니다.
- 데이터 타입: 열의 데이터 타입과 일치하는 값을 입력해야 합니다.
- NOT NULL 제약조건: NOT NULL 제약조건이 있는 열은 반드시 값을 입력해야 합니다.
- 날짜 형식: 날짜를 입력할 때는 TO_DATE 함수 사용을 권장합니다.
sql
INSERT INTO employees (employee_id, first_name, hire_date) VALUES (212, 'Robert', TO_DATE('2023-04-13', 'YYYY-MM-DD'));
트랜잭션 관리
INSERT문 실행 후에는 COMMIT 또는 ROLLBACK을 사용하여 트랜잭션을 완료해야 합니다:
sql
-- 변경 사항 저장
COMMIT;
-- 변경 사항 취소
ROLLBACK;
이 기본 내용을 바탕으로 오라클 DB에서 INSERT문을 활용하여 데이터를 추가할 수 있습니다.
재시도
Claude는 아직 생성한 코드를 실행할 수 없습니다.