테이블이 생성될 때 데이터가 포함되지 않습니다. 데이터베이스를 많이 사용하기 전에 가장 먼저 해야 할 일은 데이터를 삽입하는 것입니다. 데이터는 한 번에 한 행씩 삽입됩니다. 단일 명령에 둘 이상의 행을 삽입할 수도 있지만 완전한 행이 아닌 항목은 삽입할 수 없습니다. 일부 열 값만 알고 있더라도 전체 행을 생성해야 합니다.
새 행을 작성하려면 INSERT 명령을 사용하십시오. 명령에는 테이블 이름과 열 값이 필요합니다. 예를 들어, 5장의 제품 테이블을 고려하십시오 .
CREATE TABLE 제품(
product_no 정수,
이름 텍스트,
가격 숫자
);
행을 삽입하는 명령의 예는 다음과 같습니다.
제품 값에 삽입(1, '치즈', 9.99);
데이터 값은 쉼표로 구분된 열이 테이블에 나타나는 순서대로 나열됩니다. 일반적으로 데이터 값은 리터럴(상수)이지만 스칼라 표현식도 허용됩니다.
위의 구문에는 테이블의 열 순서를 알아야 하는 단점이 있습니다. 이를 방지하기 위해 열을 명시적으로 나열할 수도 있습니다. 예를 들어, 다음 명령은 모두 위와 같은 효과를 가집니다.
INSERT INTO 제품(제품 번호, 이름, 가격) VALUES(1, '치즈', 9.99);
INSERT INTO 제품(이름, 가격, product_no) VALUES('치즈', 9.99, 1);
많은 사용자는 항상 열 이름을 나열하는 것이 좋습니다.
모든 열에 대한 값이 없는 경우 일부를 생략할 수 있습니다. 이 경우 열은 기본값으로 채워집니다. 예를 들어:
INSERT INTO 제품(product_no, 이름) VALUES(1, '치즈');
제품 값에 삽입(1, '치즈');
두 번째 형식은 PostgreSQL 확장입니다. 주어진 값만큼 왼쪽 열을 채우고 나머지는 기본값으로 사용합니다.
명확성을 위해 개별 열 또는 전체 행에 대해 명시적으로 기본값을 요청할 수도 있습니다.
INSERT INTO 제품(제품 번호, 이름, 가격) VALUES(1, '치즈', DEFAULT);
제품 기본 값에 삽입
단일 명령에 여러 행을 삽입할 수 있습니다.
INSERT INTO 제품(product_no, 이름, 가격) VALUES
(1, '치즈', 9.99),
(2, '빵', 1.99),
(3, '우유', 2.99);
쿼리 결과를 삽입하는 것도 가능합니다(행이 없거나, 한 행 또는 여러 행이 될 수 있음).
INSERT INTO 제품(product_no, 이름, 가격)
SELECT product_no, name, price FROM new_products
WHERE 릴리스 날짜 = '오늘';
이것은 삽입할 행을 계산하기 위한 SQL 쿼리 메커니즘( 7장 )의 모든 기능을 제공합니다.
팁
많은 양의 데이터를 동시에 삽입할 경우 COPY 명령을 사용하는 것을 고려하십시오. INSERT 명령 만큼 유연 하지는 않지만 더 효율적입니다. 벌크 로딩 성능 향상에 대한 자세한 내용은 섹션 14.4 를 참조하십시오 .
'Postgresql_DB_가이드' 카테고리의 다른 글
수정된 행에서 데이터 반환 (0) | 2022.08.06 |
---|---|
데이터 업데이트 (0) | 2022.08.06 |
생성된 열 (0) | 2022.08.05 |
제약 (0) | 2022.08.05 |
기본값 (0) | 2022.08.05 |