SQL, INSERT INTO 사용법 (데이터 삽입)

INSERT INTO는 테이블 컬럼에 값을 넣는 SQL 구문입니다. 값은 테이블 전체 컬럼에 넣을 수도 있고, 일부 컬럼에만 넣을 수도 있습니다.

INSERT INTO

1. 전체 컬럼에 INSERT

전체 컬럼에 insert하는 경우 아래와 같은 구문을 사용합니다.

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

 

예시)

INSERT INTO employees (employee_id, first_name, last_name, age, department)
VALUES (1, 'John', 'Doe', 30, 'IT');

 

참고로 전체 컬럼에 값을 넣을 땐 굳이 컬럼명을 모두 명시하지 않아도 괜찮습니다. 바로 순서대로 VALUES 값을 넣어도 됩니다.

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

 

예시)

INSERT INTO employees
VALUES (3, 'Mark', 'Smith', 28, 'Finance');

 

2. 일부 컬럼에 INSERT

일부 컬럼에만 insert하는 경우 값을 입력하려는 컬럼 이름만 지정합니다.

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

 

예시)

INSERT INTO employees (employee_id, first_name, last_name, department)
VALUES (2, 'Jane', 'Doe', 'HR');

 

NULL이 허용되지 않는 컬럼 - SQL 오류 (1364)

NULL이 허용되지 않는 컬럼은 반드시 포함시켜서 값을 넣어야 합니다. 그렇지 않으면 SQL 오류 (1364)가 발생합니다.

 

예를 들어, 아래와 같이 학생 정보를 입력하는 테이블을 생성해 보겠습니다.

CREATE TABLE students (
  student_id INT PRIMARY KEY,
  first_name VARCHAR(50) NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  birthdate DATE NOT NULL,
  major VARCHAR(50)
);

 

해당 예제에서 first_name, last_name, birthdate 컬럼은 NULL을 허용하지 않습니다. 이때 아래와 같이 first_name 컬럼에 값을 입력하지 않고 insert 구문을 사용하면 SQL 오류 (1364)가 발생합니다.

INSERT INTO students (student_id, last_name, birthdate, major)
VALUES (1, 'Doe', '2000-01-01', 'Computer Science');

 

not null

 

정상적으로 insert하려면 not null 옵션이 부여된 모든 컬럼에 값을 넣어야 합니다.

INSERT INTO students (student_id, first_name, last_name, birthdate, major)
VALUES (1, 'John', 'Doe', '2000-01-01', 'Computer Science');

 

반응형

댓글

Designed by JB FACTORY