PostgreSQL ALTER 테이블: ADD 열, 열/테이블 이름 바꾸기 예

ALTER TABLE 명령은 테이블의 구조를 변경하는 데 사용됩니다. PostgreSQL 테이블. 테이블의 컬럼이나 테이블의 이름을 변경할 때 사용하는 명령어입니다.

통사론

다음은 PostgreSQL ALTER TABLE 명령:

ALTER TABLE table-name action;

table-name 매개변수는 변경해야 하는 테이블의 이름입니다.

작업 매개변수는 열 이름 변경, 열 데이터 유형 변경 등 수행해야 하는 작업입니다.

상품 설명

ALTER TABLE 명령은 기존 테이블의 정의를 변경합니다. 다음 하위 형식을 사용합니다.

  • 열 추가: CREATE TABLE 명령과 유사한 구문을 사용하여 테이블에 새 열을 추가합니다.
  • 드롭 컬럼: 테이블 열을 삭제합니다. 열에 적용된 제약 조건과 인덱스도 삭제됩니다.
  • 기본값 설정/삭제: 열의 기본값을 제거하는 데 사용합니다. 단, 변경사항은 다음 항목에만 적용됩니다. INSERT 문.
  • NULL이 아닌 설정/삭제: 열에서 Null을 허용할지 여부를 변경합니다.
  • 통계 설정: ANALYZE 작업에 대한 각 열의 통계 수집 대상을 설정합니다.
  • 세트 저장: 열의 저장 모드를 설정합니다. 이에 따라 인라인인지 보조 테이블인지에 따라 열이 보관되는 위치가 결정됩니다.
  • OIDS 없이 설정: 테이블의 이전 열을 제거하는 데 사용합니다.
  • 이름 바꾸기: 테이블 이름이나 컬럼 이름을 변경합니다.
  • 테이블_제약 추가: 테이블에 새로운 제약 조건을 추가하는 데 사용됩니다. 다음과 같은 구문을 사용합니다. 테이블 만들기 명령.
  • 드롭 제약: 테이블 제약 조건을 삭제하는 데 사용됩니다.
  • OWNER: 테이블, 시퀀스, 인덱스, 뷰의 소유자를 특정 사용자로 변경합니다.
  • CLUSTER: 향후 클러스터 작업을 수행하는 데 사용할 테이블을 표시합니다.

열 수정

열은 다양한 방법으로 수정될 수 있습니다. 이러한 수정은 ALTER TABLE 명령을 사용하여 수행할 수 있습니다. 다음 사항에 대해 논의해 보겠습니다.

새 열 추가

새 열을 추가하려면 PostgreSQL 테이블의 경우 ALTER TABLE 명령은 다음 구문과 함께 사용됩니다.

ALTER TABLE table-name
  ADD new-column-name column-definition;

table-name은 수정할 테이블의 이름입니다.

new-column-name은 추가할 새 열의 이름입니다.

열 정의는 데이터 형식 새 열의

아래에 표시된 Book 테이블을 참조하세요.

새 열 추가 PostgreSQL

테이블에는 id와 name이라는 두 개의 열이 있습니다. 테이블에 새 열을 추가하고 이름을 author로 지정해야 합니다. 다음 명령을 실행하기만 하면 됩니다.

ALTER TABLE Book
  ADD author VARCHAR(50);

위 명령을 실행한 후 Book 테이블은 이제 다음과 같습니다.

새 열 추가 PostgreSQL

새 열이 성공적으로 추가되었습니다.

테이블 열 이름 바꾸기

ALTER TABLE 명령을 사용하여 열의 이름을 변경할 수 있습니다. 이 경우 명령은 다음 구문과 함께 사용됩니다.

ALTER TABLE table-name
  RENAME COLUMN old-name TO new-name;

table-name은 열 이름을 바꿀 테이블의 이름입니다.

old-name은 열의 이전/현재 이름입니다.

new-name은 열의 새 이름입니다. 아래에 표시된 Book 테이블을 고려해보세요.

도서:

테이블 열 이름 바꾸기 PostgreSQL

book_author에는 열 작성자의 이름이 필요합니다. 명령은 다음과 같습니다.

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

명령을 실행한 후 테이블의 구조를 볼 수 있습니다.

테이블 열 이름 바꾸기 PostgreSQL

열 이름이 성공적으로 변경되었습니다.

열의 기본값 설정

INSERT 작업 중에 해당 열에 대한 값을 지정하지 않더라도 기본값이 사용되도록 열에 대한 기본값을 설정할 수 있습니다. 이 경우 ALTER TABLE 명령은 다음 구문과 함께 사용할 수 있습니다.

ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];

table-name은 컬럼이 수정될 테이블의 이름입니다.

컬럼 이름은 기본값이 설정될 이름입니다.

값은 열의 기본값입니다.

아래에 주어진 Book 테이블을 고려하십시오:

열의 기본값 설정

book_author 열에 대한 기본값을 설정해야 합니다. 다음 명령을 실행할 수 있습니다.

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

이제 테이블에 행을 삽입해 보겠습니다.

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners');

id와 name이라는 두 개의 열에만 값을 삽입했습니다. 그러나 book_author 열에는 기본값이 사용되었습니다.

열의 기본값 설정

검사 제약 조건 추가

검사 제한조건은 테이블에 삽입되는 레코드의 유효성을 검사하는 데 도움이 됩니다. ALTER TABLE 명령과 ADD CHECK 문을 결합하여 이를 수행할 수 있습니다. 통사론:

ALTER TABLE table-name ADD CHECK expression;

table-name은 변경할 테이블의 이름입니다.

표현식은 테이블 열에 적용되는 제약 조건입니다.

Nicholas와 Samuel 값만 허용하도록 Book 테이블의 book_author 열을 수정해 보겠습니다.

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'));

이제 Book 테이블의 book_author 열에 Nicholas 또는 Samuel 이외의 값을 삽입해 보겠습니다.

INSERT INTO Book
VALUES(7, '최고의 PostgreSQL Book', 'Gregory Bush');

해당 명령문은 다음과 같은 오류를 반환합니다.

검사 제약 조건 추가

검사 제약 조건을 위반했기 때문에 삽입 작업이 실패했습니다.

테이블 이름 바꾸기

다음은 테이블 이름을 바꾸는 ALTER TABLE 명령의 구문입니다.

ALTER TABLE table-name
  RENAME TO new-table-name;

table-name은 테이블의 현재 이름입니다.

new-table-name은 테이블에 할당될 새 이름입니다.

예를 들어 Book 테이블의 이름을 Books로 변경해 보겠습니다.

ALTER TABLE Book
  RENAME TO Books;

pgAdmin 사용

이제 pgAdmin을 사용하여 이러한 작업을 수행하는 방법을 살펴보겠습니다.

새 열 추가

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

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

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin을 사용하여 새 열 추가

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

ALTER TABLE Book
  ADD author VARCHAR(50);

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

pgAdmin을 사용하여 새 열 추가

단계 5) 열이 추가되었는지 확인하려면 다음을 수행하세요.

  1. 왼쪽 탐색에서 데이터베이스를 클릭합니다.
  2. 데모를 확장합니다.
  3. 스키마를 확장합니다.
  4. 공개를 확장합니다.
  5. 테이블을 확장합니다.
  6. 책을 펼치세요.
  7. 열을 확장합니다.

pgAdmin을 사용하여 새 열 추가

아래와 같이 열이 추가되어야 합니다.

pgAdmin을 사용하여 새 열 추가

테이블 열 이름 바꾸기

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

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

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin을 사용하여 테이블 열 이름 바꾸기

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

ALTER TABLE Book
  RENAME COLUMN author TO book_author;

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

pgAdmin을 사용하여 테이블 열 이름 바꾸기

단계 5) 변경이 성공적으로 이루어졌는지 확인하려면 다음을 수행하세요.

  1. 왼쪽 탐색에서 데이터베이스를 클릭합니다.
  2. 데모를 확장합니다.
  3. 스키마를 확장합니다.
  4. 공개를 확장합니다.
  5. 테이블을 확장합니다.
  6. 책을 펼치세요.
  7. 열을 확장합니다.

pgAdmin을 사용하여 테이블 열 이름 바꾸기

이제 열은 다음과 같아야 합니다.

pgAdmin을 사용하여 테이블 열 이름 바꾸기

열이 성공적으로 변경되었습니다.

열의 기본값 설정

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

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

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

열의 기본값 설정

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

ALTER TABLE Book ALTER COLUMN book_author SET DEFAULT 'Nicholas Samuel';		

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

열의 기본값 설정

단계 5) 테스트하려면 쿼리 편집기에서 다음 명령을 실행하세요.

INSERT INTO Book (id, name)
 VALUES (6, 'PostgreSQL for Beginners')

단계 6) 이제 테이블을 쿼리하여 book_author 열에 기본값이 삽입되었는지 확인할 수 있습니다.

열의 기본값 설정

검사 제약 조건 추가

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

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

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin을 사용하여 검사 제약 조건 추가

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))

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

pgAdmin을 사용하여 검사 제약 조건 추가

단계 5) 이를 테스트하려면 다음을 수행하세요.

  1. 쿼리 편집기에 다음 쿼리를 입력하세요.
    INSERT INTO Book
    VALUES(7, '최고의 PostgreSQL Book', 'Gregory Bush');
    
  2. 실행 버튼을 클릭하세요.

    pgAdmin을 사용하여 검사 제약 조건 추가

    다음이 반환됩니다.

pgAdmin을 사용하여 검사 제약 조건 추가

테이블 이름 바꾸기

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

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

단계 2)

  1. 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
  2. 데모를 클릭하세요.

pgAdmin을 사용하여 테이블 이름 바꾸기

단계 3) 쿼리 편집기에 쿼리를 입력합니다.

ALTER TABLE Book
  RENAME TO Books;

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

pgAdmin을 사용하여 테이블 이름 바꾸기

단계 5) 테이블 이름이 변경되었는지 확인하려면 다음을 수행하세요.

  1. 왼쪽 탐색에서 데이터베이스를 클릭합니다.
  2. 데모를 확장합니다.
  3. 스키마를 확장합니다.
  4. 공개를 확장합니다.
  5. 테이블을 확장합니다.

pgAdmin을 사용하여 테이블 이름 바꾸기

테이블 이름이 성공적으로 변경되었습니다.

요약

  • ALTER TABLE 문은 테이블의 구조를 수정하는 데 사용됩니다.
  • ALTER TABLE 명령은 수행해야 하는 작업에 따라 다양한 형식을 취합니다.
  • 구조는 테이블 열일 수도 있고 테이블 자체일 수도 있습니다.
  • 이 명령문을 사용하여 테이블 이름을 변경할 수 있습니다.
  • ALTER TABLE 명령을 사용하여 열의 기본값을 설정할 수 있습니다.
  • 명령문을 사용하여 테이블 열에 입력된 값의 유효성을 검사할 수 있습니다.

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