Basic INSERT statement - 기초적인 INSERT 문
당신은 이제 데이터베이스에 더 더 친숙해 졌을 겁니다.
이제 더 앞으로 나아 갑시다!
데이터베이스를 사용하기 위해서, 데이터베이스 테이블에 새로운 레코드들을 넣는 방법에 대해서 알아야 합니다.
이 주제에서는, SQL에서 이것이 어떻게 되는지 보여주겠습니다.
테이블에 새로운 레코드를 삽입 할 수 있는데, 간단한 쿼리인 INSERT INTO
문을 사용하여 넣을 수 있습니다.
예를 들어, customers 테이블에 새로운 고객에 대한 레코드를 추가하는데,
name (VARCHAR(20))
surname (VARCHAR(20))
zip_code (INT)
city (VARCHAR(10))
컬럼을 가지고 있습니다.
name | surname | zip_code | city |
---|---|---|---|
Tom | Black | 11643 | New Youk |
Hermione | Smith | 20599 | Washington |
우리의 새로운 고객의 이름은 Bobby, 성은 Ray, 우편번호는 60601, 사는 곳은 Chicago 입니다.
밑의 쿼리는 테이블에 정보를 넣습니다.
INSERT INTO customers (name, surname, zip_code, city)
VALUES ('Bobby', 'Ray', 60601, 'Chicago');
당신이 볼 수 있듯이, 해야 할 것은 키워드 VALUES 다음에 와야 할 값들의 목록을 작성 하는 것 입니다.
이 쿼리를 한 번 실행하고 나면, 우리의 테이블 customers는 새로운 줄을 가집니다.
name | surname | zip_code | city |
---|---|---|---|
Tom | Black | 11643 | New York |
Hermione | Smith | 20599 | Washington |
Bobby | Ray | 60601 | Chicago |
만약, 테이블의 컬럼에 대한 순서를 정확하게 안다면,
컬럼의 이름을 표기하는 것을 생략하고 INSERT INTO
쿼리에 대한 더 짧은 버전을 사용 할 수 있습니다.
이 경우, 아까 작성했던 SQL 쿼리는 이것과 같이 다시 작성 될 수 있습니다. :
INSERT INTO customers
VALUES ('Bobby', 'Ray', 60601, 'Chicago');
Insert multiple rows - 한 번에 여러 개의 줄 삽입하기
만약 여러 개의 줄을 넣고 싶다면, 하나 하나 씩 추가 할 필요가 없습니다. :
우리는 동시에 여러 개의 줄을 추가 할 수 있습니다.
INSERT INTO customers (name, surname, zip_code, city)
VALUES ('Mary', 'West', 75201, 'Dallas'),
('Steve', 'Palmer', 33107, 'Miami');
이 예제에서는, 단 하나 대신 콤마 (,
) 로 분리된 리스트의 값을 작성했습니다.
INSERT into specified columns - INSERT에 컬럼 표기하기
가끔 몇몇 사라진 값들이 있는 레코드를 추가해야 할 때가 있습니다.
우리는 빈 테이블 cats
를 가지고 있다고 가정하겠습니다.
이 테이블은 세 개의 컬럼을 가지고 있습니다.
name (VARCHAR(20))
age (INT)
owner (VARCHAR(40))
어떠한 컬럼에도 기본 값은 가지고 있지 않습니다.
name | age | owner |
---|
우리는 집을 잃은 고양이 Felix에 대한 정보를 추가하고 싶습니다.
Felix가 주인(owner) 이 없기 때문에, INSERT INTO
쿼리에 이 컬럼을 스킵 할 수 있습니다.
INSERT INTO cats (name, age)
VALUES ('Felix', 3);
결과적으로, 테이블은 하나의 줄을 가집니다. :
name | agew | owner |
---|---|---|
Felix | 3 | NULL |
첫 번째 줄의 owner컬럼 값은 NULL 이 됩니다. 우리가 이를 표기하지 않았기 때문입니다.
만약 컬럼이 기본 값을 가지고 있으며, Insert 과정에서 이 컬럼을 건너뛴다면, 그 값은 기본 값으로 세팅됩니다.
Conclution - 결론
여기 INSERT INTO
문에 대한 기초적인 템플릿이 있습니다. :
INSERT INTO table_name (column_1, column_2, ..., column_n)
VALUES (list_of_values_1) [, (list_of_values_2), ..., (list_of_values_n)];
이 표기의 의미는 하나의 줄은 필수적이며, 그 이상은 선택적이라는 의미입니다.
당신이 컬럼의 순서를 알고 모든 컬럼들에 값들을 넣고 싶을 때,
밑의 짧은 버전의 INSERT INTO
문 테플릿을 사용 할 수 있습니다.
INSERT INTO table_name
VALUES (value_1, value_2, ..., value_n);
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introducing to SQL' 카테고리의 다른 글
Intro to MySQL - MySQL에 대한 소개 (0) | 2024.04.17 |
---|---|
Basic DELETE statement - 기초적인 DELETE 문법 (0) | 2024.04.16 |
Special WHERE operators - 특별한 WHERE 연산자 (1) | 2024.04.15 |
The NULL value - null 값 (0) | 2024.04.13 |
Logic and comparison expressions - 로직, 비교 표현식 (1) | 2024.04.12 |