PostgreSQL 배열: 함수, 유형, 예
PostgreSQL 정렬?
In PostgreSQL, 유효한 데이터 유형의 배열로 열을 정의할 수 있습니다. 데이터 유형은 내장, 사용자 정의 또는 열거 유형일 수 있습니다. 이 외에도 배열이 중요한 역할을 합니다. PostgreSQL.
모든 해당 PostgreSQL 데이터 유형은 관련 배열 유형과 함께 제공됩니다. 예를 들어, 정수 데이터 유형에는 정수[] 배열 유형이 있고, 문자 데이터 유형에는 문자[] 배열 유형이 있습니다.
만들기 PostgreSQL 배열
다음 예에서는 연락처 열이 텍스트 배열로 정의된 Employees라는 테이블을 생성합니다.
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
명령이 성공적으로 실행되어야 합니다.
삽입 PostgreSQL 배열 값
지금 하자 삽입하다 위 표의 값은 다음과 같습니다.
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
삽입이 성공적으로 실행되어야 합니다.
세 번째 열인 연락처의 값이 배열로 삽입되었습니다. 이는 ARRAY 생성자를 사용하여 달성되었습니다.
이 예에서 우리는 이들을 대괄호 []로 묶었습니다. 우리는 직원 Alice John에 대한 두 개의 연락처를 가지고 있습니다.
아래와 같이 중괄호 {}를 사용하는 것이 여전히 가능합니다.
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
명령이 성공적으로 실행되어야 합니다.
위의 문장은 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 배열
배열의 모든 요소 또는 단일 요소를 업데이트할 수 있습니다.
직원 테이블의 내용은 다음과 같습니다.
ID가 3인 직원 James Bush의 두 번째 전화번호를 업데이트하겠습니다.
다음 명령을 실행하십시오.
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
명령이 성공적으로 실행되어야 합니다.
변경이 성공했는지 확인하기 위해 테이블을 쿼리해 보겠습니다.
변경이 성공적이었습니다.
검색 중 PostgreSQL 배열
현재 직원 테이블은 다음과 같습니다.
연락처 배열 내의 위치에 관계없이 연락처 (408)-783-5731의 소유자가 누구인지 알아야 한다고 가정하면 아래와 같이 ANY() 함수를 사용할 수 있습니다.
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
다음이 반환됩니다.
배열 확장
배열의 값을 행으로 분할할 수 있습니다. 이 프로세스를 어레이 확장이라고 합니다.
직원 테이블의 예에는 연락처 배열에 두 개의 연락처가 있는 일부 직원이 있습니다. 이를 별도의 행으로 나눌 수 있습니다.
PostgreSQL 이에 사용할 수 있는 unnest() 함수를 제공합니다.
예 :
SELECT name, unnest(contact) FROM Employees;
다음이 반환됩니다.
직원인 Alice John과 James Bush는 두 명의 연락처를 가지고 있습니다. 별도의 행으로 나눌 수 있습니다.
pgAdmin 사용
만들기 PostgreSQL 배열
pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 rbases를 클릭합니다.
- 데모 버튼을 클릭하세요
단계 3) 쿼리 편집기에 쿼리를 입력하여 Employees 테이블을 만듭니다.
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
단계 4) 실행 버튼을 클릭하세요.
삽입 PostgreSQL 배열 값
단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
단계 2) 실행 버튼을 클릭합니다:
단계 3)
쿼리에 중괄호를 사용하려면
단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
2단계) 실행 버튼을 클릭합니다.
어레이 데이터 쿼리
단계 1) Employees 테이블의 내용을 보려면 쿼리 편집기에 다음 쿼리를 입력하세요.
SELECT * FROM Employees;
단계 2) 실행 버튼을 클릭합니다:
다음을 반환해야 합니다.
단계 3) 직원의 첫 번째 연락처를 보려면:
- 쿼리 편집기에 다음 쿼리를 입력하세요.
SELECT name, contact[1] FROM Employees;
- 실행 버튼을 클릭하세요.
다음을 반환해야 합니다.
단계 4) SELECT 문을 WHERE 절과 결합하려면:
- 쿼리 편집기에 다음 명령을 입력하세요.
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
- 실행 버튼을 클릭하세요.
다음을 반환해야 합니다.
수정 PostgreSQL 배열
단계 1) ID가 3인 사용자의 두 번째 연락처를 업데이트하려면 다음 명령을 실행하세요.
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
단계 2) 실행 버튼을 클릭하세요.
단계 3)
1. 쿼리 편집기에 다음 명령을 입력하여 변경 사항이 성공했는지 확인하세요.
SELECT * FROM Employees;
2.실행 버튼을 클릭합니다.
다음을 반환해야 합니다.
검색 중 PostgreSQL 배열
단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
단계 2) 실행 버튼을 클릭하세요.
다음을 반환해야 합니다.
배열 확장
단계 1) 쿼리 편집기에 다음 쿼리를 입력하세요.
SELECT name, unnest(contact) FROM Employees;
단계 2) 실행 버튼을 클릭하세요.
다음을 반환해야 합니다.
제품 개요
- PostgreSQL 테이블 열을 배열 유형으로 정의할 수 있습니다.
- 배열은 유효해야 합니다. 데이터 형식 정수, 문자 또는 사용자 정의 유형과 같은.
- 배열 열에 값을 삽입하려면 ARRAY 생성자를 사용합니다.
- 배열 열의 동일한 행에 두 개 이상의 요소가 있는 경우 첫 번째 요소는 위치 1에 있습니다.
- 각 값은 대괄호 [] 안에 서브스크립트를 전달하여 접근할 수 있습니다.
- 배열의 요소는 SELECT 문을 사용하여 검색할 수 있습니다.
- 배열 열의 값은 대괄호 [] 또는 중괄호 {}로 묶을 수 있습니다.
- ANY() 함수를 사용하여 배열 열 값을 검색할 수 있습니다.