PostgreSQL 배열: 함수, 유형, 예

PostgreSQL 정렬?

In PostgreSQL, 유효한 데이터 유형의 배열로 열을 정의할 수 있습니다. 데이터 유형은 내장, 사용자 정의 또는 열거 유형일 수 있습니다. 이 외에도 배열이 중요한 역할을 합니다. PostgreSQL.

모든 해당 PostgreSQL 데이터 유형은 관련 배열 유형과 함께 제공됩니다. 예를 들어, 정수 데이터 유형에는 정수[] 배열 유형이 있고, 문자 데이터 유형에는 문자[] 배열 유형이 있습니다.

만들기 PostgreSQL 배열

다음 예에서는 연락처 열이 텍스트 배열로 정의된 Employees라는 테이블을 생성합니다.

CREATE TABLE Employees (
   id int PRIMARY KEY,
   name VARCHAR (100),
   contact TEXT []
);

명령이 성공적으로 실행되어야 합니다.

만들기 PostgreSQL 배열

삽입 PostgreSQL 배열 값

지금 하자 삽입하다 위 표의 값은 다음과 같습니다.

INSERT INTO Employees 
VALUES
   (
      1,
      'Alice John',
      ARRAY [ '(408)-743-9045',
      '(408)-567-7834' ]
   );

삽입이 성공적으로 실행되어야 합니다.

삽입 PostgreSQL 배열 값

세 번째 열인 연락처의 값이 배열로 삽입되었습니다. 이는 ARRAY 생성자를 사용하여 달성되었습니다.

이 예에서 우리는 이들을 대괄호 []로 묶었습니다. 우리는 직원 Alice John에 대한 두 개의 연락처를 가지고 있습니다.

아래와 같이 중괄호 {}를 사용하는 것이 여전히 가능합니다.

INSERT INTO Employees 
VALUES
   (
    2,
      'Kate Joel',
      '{"(408)-783-5731"}'
   ),
   ( 
      3,
      'James Bush',
      '{"(408)-745-8965","(408)-567-78234"}'
   );

명령이 성공적으로 실행되어야 합니다.

삽입 PostgreSQL 배열 값

위의 문장은 Employees 테이블에 두 개의 행을 삽입합니다. 중괄호를 사용할 때 배열은 작은 따옴표(')로 묶이고 텍스트 배열 항목은 큰 따옴표(“)로 묶입니다.

어레이 데이터 쿼리

배열 요소를 쿼리하려면 SELECT 문을 사용합니다.

Employees 테이블의 내용을 보려면 다음 명령을 실행합니다.

SELECT * FROM Employees;

다음을 반환합니다.

어레이 데이터 쿼리

배열 열의 요소, 즉 연락처를 중괄호 {}로 묶었습니다.

배열 요소 자체에 액세스하려면 대괄호 [] 안에 아래 첨자를 추가합니다. 배열의 첫 번째 요소는 위치 1에 있습니다.

예를 들어, 직원의 이름과 연락처가 두 개 이상인 직원에 대한 첫 번째 연락처만 가져와야 합니다. contact[1]로 액세스할 수 있습니다.

이것을 보자:

SELECT name, contact[1]
FROM Employees;

다음이 반환됩니다.

어레이 데이터 쿼리

WHERE 절과 함께 SELECT 문을 사용하여 배열 열을 기준으로 행을 필터링할 수 있습니다.

예를 들어, 두 번째 연락처가 (408)-567-78234인 직원을 보려면 다음 명령을 실행할 수 있습니다.

SELECT
   name
FROM
   Employees
WHERE
   contact [ 2 ] = '(408)-567-78234';

다음이 반환됩니다.

어레이 데이터 쿼리

수정 PostgreSQL 배열

배열의 모든 요소 또는 단일 요소를 업데이트할 수 있습니다.

직원 테이블의 내용은 다음과 같습니다.

수정 PostgreSQL 배열

ID가 3인 직원 James Bush의 두 번째 전화번호를 업데이트하겠습니다.

수정 PostgreSQL 배열

다음 명령을 실행하십시오.

UPDATE Employees
SET contact [ 2 ] = '(408)-589-89347'
WHERE
   id = 3;

명령이 성공적으로 실행되어야 합니다.

수정 PostgreSQL 배열

변경이 성공했는지 확인하기 위해 테이블을 쿼리해 보겠습니다.

수정 PostgreSQL 배열

변경이 성공적이었습니다.

검색 중 PostgreSQL 배열

현재 직원 테이블은 다음과 같습니다.

검색 중 PostgreSQL 배열

연락처 배열 내의 위치에 관계없이 연락처 (408)-783-5731의 소유자가 누구인지 알아야 한다고 가정하면 아래와 같이 ANY() 함수를 사용할 수 있습니다.

SELECT
   name,
   contact
FROM
   Employees
WHERE
   '(408)-783-5731' = ANY (contact);

다음이 반환됩니다.

검색 중 PostgreSQL 배열

배열 확장

배열의 값을 행으로 분할할 수 있습니다. 이 프로세스를 어레이 확장이라고 합니다.

직원 테이블의 예에는 연락처 배열에 두 개의 연락처가 있는 일부 직원이 있습니다. 이를 별도의 행으로 나눌 수 있습니다.

PostgreSQL 이에 사용할 수 있는 unnest() 함수를 제공합니다.

예 :

SELECT
   name,
   unnest(contact)
FROM
   Employees;

다음이 반환됩니다.

배열 확장

직원인 Alice John과 James Bush는 두 명의 연락처를 가지고 있습니다. 별도의 행으로 나눌 수 있습니다.

pgAdmin 사용

만들기 PostgreSQL 배열

pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.

단계 1) pgAdmin 계정에 로그인하세요.

단계 2)

  1. 왼쪽 탐색 모음에서 rbases를 클릭합니다.
  2. 데모 버튼을 클릭하세요

만들기 PostgreSQL pgAdmin을 사용하는 배열

단계 3) 쿼리 편집기에 쿼리를 입력하여 Employees 테이블을 만듭니다.

CREATE TABLE Employees (
   id int PRIMARY KEY,
   name VARCHAR (100),
   contact TEXT []
);

단계 4) 실행 버튼을 클릭하세요.

만들기 PostgreSQL pgAdmin을 사용하는 배열

삽입 PostgreSQL 배열 값

단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.

INSERT INTO Employees 
VALUES
   (
      1,
      'Alice John',
      ARRAY [ '(408)-743-9045',
      '(408)-567-7834' ]
   );

단계 2) 실행 버튼을 클릭합니다:

삽입 PostgreSQL 배열 값

단계 3)

쿼리에 중괄호를 사용하려면

단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.

INSERT INTO Employees 
VALUES
   (
    2,
      'Kate Joel',
      '{"(408)-783-5731"}'
   ),
   ( 
      3,
      'James Bush',
      '{"(408)-745-8965","(408)-567-78234"}'
   );

2단계) 실행 버튼을 클릭합니다.

삽입 PostgreSQL 배열 값

어레이 데이터 쿼리

단계 1) Employees 테이블의 내용을 보려면 쿼리 편집기에 다음 쿼리를 입력하세요.

SELECT * FROM Employees;

단계 2) 실행 버튼을 클릭합니다:

pgAdmin을 사용하여 어레이 데이터 쿼리

다음을 반환해야 합니다.

pgAdmin을 사용하여 어레이 데이터 쿼리

단계 3) 직원의 첫 번째 연락처를 보려면:

  1. 쿼리 편집기에 다음 쿼리를 입력하세요.
    SELECT name, contact[1]
    FROM Employees;
    
  2. 실행 버튼을 클릭하세요.

pgAdmin을 사용하여 어레이 데이터 쿼리

다음을 반환해야 합니다.

pgAdmin을 사용하여 어레이 데이터 쿼리

단계 4) SELECT 문을 WHERE 절과 결합하려면:

  1. 쿼리 편집기에 다음 명령을 입력하세요.
    SELECT
       name
    FROM
       Employees
    WHERE
       contact [ 2 ] = '(408)-567-78234';
    
  2. 실행 버튼을 클릭하세요.

pgAdmin을 사용하여 어레이 데이터 쿼리

다음을 반환해야 합니다.

pgAdmin을 사용하여 어레이 데이터 쿼리

수정 PostgreSQL 배열

단계 1) ID가 3인 사용자의 두 번째 연락처를 업데이트하려면 다음 명령을 실행하세요.

UPDATE Employees
SET contact [ 2 ] = '(408)-589-89347'
WHERE
   id = 3;

단계 2) 실행 버튼을 클릭하세요.

수정 PostgreSQL pgAdmin을 사용한 배열

단계 3)

1. 쿼리 편집기에 다음 명령을 입력하여 변경 사항이 성공했는지 확인하세요.

SELECT * FROM Employees;

2.실행 버튼을 클릭합니다.

수정 PostgreSQL pgAdmin을 사용한 배열

다음을 반환해야 합니다.

수정 PostgreSQL pgAdmin을 사용한 배열

검색 중 PostgreSQL 배열

단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.

SELECT
   name,
   contact
FROM
   Employees
WHERE
   '(408)-783-5731' = ANY (contact);

단계 2) 실행 버튼을 클릭하세요.

검색 중 PostgreSQL pgAdmin을 사용한 배열

다음을 반환해야 합니다.

검색 중 PostgreSQL pgAdmin을 사용한 배열

배열 확장

단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.

SELECT
   name,
   unnest(contact)
FROM
   Employees;

단계 2) 실행 버튼을 클릭하세요.

pgAdmin을 사용하여 어레이 확장

다음을 반환해야 합니다.

pgAdmin을 사용하여 어레이 확장

제품 개요

  • PostgreSQL 테이블 열을 배열 유형으로 정의할 수 있습니다.
  • 배열은 유효해야 합니다. 데이터 형식 정수, 문자 또는 사용자 정의 유형과 같은.
  • 배열 열에 값을 삽입하려면 ARRAY 생성자를 사용합니다.
  • 배열 열의 동일한 행에 두 개 이상의 요소가 있는 경우 첫 번째 요소는 위치 1에 있습니다.
  • 각 값은 대괄호 [] 안에 서브스크립트를 전달하여 접근할 수 있습니다.
  • 배열의 요소는 SELECT 문을 사용하여 검색할 수 있습니다.
  • 배열 열의 값은 대괄호 [] 또는 중괄호 {}로 묶을 수 있습니다.
  • ANY() 함수를 사용하여 배열 열 값을 검색할 수 있습니다.

이 튜토리얼에 사용된 데이터베이스 다운로드