본문 바로가기

카테고리 없음

INSERT

.

INSERT는 관계형 데이터베이스에서 데이터를 테이블에 추가하는 데 사용되는 SQL 명령어입니다. INSERT 명령어를 사용하여 테이블에 새로운 행을 삽입할 수 있습니다. 기본적인 문법과 사용법을 살펴보겠습니다.

기본 문법

  1. 단일 행 삽입
    • 테이블이름: 데이터를 삽입할 테이블의 이름입니다.
    • 열1, 열2, 열3, ...: 데이터를 삽입할 열의 이름입니다. 열의 순서는 테이블에서 정의된 순서와 일치해야 합니다.
    • 값1, 값2, 값3, ...: 각 열에 삽입할 데이터 값입니다. 값의 순서와 데이터 타입은 열 정의와 일치해야 합니다.
    예시:이 명령어는 '학생' 테이블에 학번이 1001, 이름이 '홍길동', 나이가 21, 전공이 '컴퓨터공학'인 행을 삽입합니다.
  2. sql
    코드 복사
    INSERT INTO 학생 (학번, 이름, 나이, 전공) VALUES (1001, '홍길동', 21, '컴퓨터공학');
  3. sql
    코드 복사
    INSERT INTO 테이블이름 (열1, 열2, 열3, ...) VALUES (값1, 값2, 값3, ...);
  4. 다중 행 삽입
    • 예시:이 명령어는 '학생' 테이블에 두 개의 새로운 행을 삽입합니다.
    • sql
      코드 복사
      INSERT INTO 학생 (학번, 이름, 나이, 전공) VALUES (1002, '김영희', 22, '전자공학'), (1003, '이철수', 20, '기계공학');
  5. sql
    코드 복사
    INSERT INTO 테이블이름 (열1, 열2, 열3, ...) VALUES (값1, 값2, 값3, ...), (값4, 값5, 값6, ...), ...;
  6. 서브쿼리를 사용한 삽입
    • 기능: 다른 테이블에서 데이터를 선택하여 현재 테이블에 삽입할 수 있습니다. 이는 테이블 간의 데이터를 복사하거나 변환할 때 유용합니다.
    sql
    코드 복사
    INSERT INTO 테이블이름 (열1, 열2, 열3, ...) SELECT1, 열2, 열3, ... FROM 다른테이블 WHERE 조건;
    • 예시:이 명령어는 '학생' 테이블에서 '졸업여부'가 '예'인 학생의 데이터를 '졸업생' 테이블에 삽입합니다.
    • sql
      코드 복사
      INSERT INTO 졸업생 (학번, 이름, 나이, 전공) SELECT 학번, 이름, 나이, 전공 FROM 학생 WHERE 졸업여부 = '예';

주의사항

  1. NULL 값: 열에 기본값이 설정되어 있거나 NULL 값을 허용하는 경우, INSERT 명령어에서 해당 열을 생략할 수 있습니다. 열 목록에서 생략된 열은 기본값이 사용되거나 NULL로 설정됩니다.
    sql
    코드 복사
    INSERT INTO 학생 (학번, 이름, 전공) VALUES (1004, '최민수', '생물학');
    여기서 '나이' 열이 생략되면, '나이' 열이 NULL로 설정되거나 기본값이 사용됩니다.
  2. 예시:
  3. 무결성 제약조건: 데이터 삽입 시 기본 키, 외래 키, 고유 제약조건 등 데이터베이스의 제약조건을 준수해야 합니다. 제약조건을 위반하면 삽입이 실패하고 오류가 발생합니다.
  4. 데이터 타입: 삽입할 값은 테이블의 열에 정의된 데이터 타입과 일치해야 합니다. 예를 들어, 숫자 열에 문자열 값을 삽입하려고 하면 오류가 발생합니다.
  5. 자동 증가 열: 기본 키 열이 자동으로 증가하도록 설정되어 있는 경우, 해당 열에 값을 명시적으로 삽입할 필요가 없습니다.
    sql
    코드 복사
    INSERT INTO 학생 (이름, 나이, 전공) VALUES ('박지수', 23, '물리학');
    '학번' 열이 자동 증가로 설정된 경우, '학번'은 명시하지 않고 다른 열의 값만 삽입합니다.
  6. 예시:

이러한 INSERT 명령어를 통해 데이터베이스에 새로운 데이터를 추가할 수 있으며, 데이터베이스의 무결성과 구조를 유지하면서 데이터를 관리할 수 있습니다.