PostgreSQL-INSERT 쿼리

PostgreSQL INSERT INTO문을 사용하면 테이블에 새 행을 삽입 할 수 있습니다. 한 번에 단일 행을 삽입하거나 쿼리 결과로 여러 행을 삽입 할 수 있습니다.

통사론

INSERT INTO 문의 기본 구문은 다음과 같습니다.

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);
  • 여기에서 column1, column2, ... columnN은 데이터를 삽입 할 테이블의 열 이름입니다.

  • 대상 열 이름은 임의의 순서로 나열 될 수 있습니다. VALUES 절 또는 쿼리에서 제공하는 값은 왼쪽에서 오른쪽으로 명시 적 또는 암시 적 열 목록과 연결됩니다.

테이블의 모든 열에 대한 값을 추가하는 경우 SQL 쿼리에 열 이름을 지정할 필요가 없습니다. 그러나 값의 순서가 테이블의 열과 동일한 순서인지 확인하십시오. SQL INSERT INTO 구문은 다음과 같습니다.

INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);

산출

다음 표는 출력 메시지와 그 의미를 요약합니다.

S. 아니. 출력 메시지 및 설명
1

INSERT oid 1

행이 하나만 삽입 된 경우 반환되는 메시지입니다. oid는 삽입 된 행의 숫자 OID입니다.

2

INSERT 0 #

둘 이상의 행이 삽입 된 경우 반환되는 메시지입니다. #은 삽입 된 행 수입니다.

COMPANY 테이블을 생성하겠습니다. testdb 다음과 같이-

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL,
   JOIN_DATE	  DATE
);

다음 예제는 COMPANY 테이블에 행을 삽입합니다-

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');

다음 예제는 행을 삽입하는 것입니다. 여기서 급여 열은 생략되었으므로 기본값을 갖습니다.

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13');

다음 예제는 값을 지정하지 않고 JOIN_DATE 열에 DEFAULT 절을 사용합니다.

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT );

다음 예제는 다중 행 VALUES 구문을 사용하여 여러 행을 삽입합니다-

INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13');

위의 모든 문은 COMPANY 테이블에 다음 레코드를 생성합니다. 다음 장에서는 테이블에서 이러한 모든 레코드를 표시하는 방법을 설명합니다.

ID        NAME        AGE        ADDRESS     SALARY	  JOIN_DATE
----      ----------  -----      ----------  -------      --------
1         Paul        32         California  20000.0      2001-07-13
2         Allen       25         Texas                    2007-12-13
3         Teddy       23         Norway      20000.0
4         Mark        25         Rich-Mond   65000.0      2007-12-13
5         David       27         Texas       85000.0      2007-12-13