PostgreSQL 테이블 변경: 열 추가 및 이름 변경
⚡ 스마트 요약
PostgreSQL ALTER TABLE 명령은 기존 테이블의 구조를 변경하여 열을 추가하거나 삭제하고, 열 또는 테이블 전체의 이름을 바꾸고, 기본값을 설정하고, 객체를 다시 생성하지 않고도 검사 제약 조건을 추가할 수 있도록 합니다.

ALTER TABLE이란 무엇인가요? PostgreSQL?
The ALTER TABLE 명령어는 구조를 변경하는 데 사용됩니다. PostgreSQL `<table>`은 테이블을 삭제하지 않고 테이블의 열이나 테이블 이름을 변경하는 데 사용되는 명령어입니다.ping 그리고 객체를 다시 생성합니다.
통사론
다음은 PostgreSQL ALTER TABLE 명령:
ALTER TABLE table-name action;
`table-name` 매개변수는 변경할 테이블의 이름입니다. `action` 매개변수는 수행할 작업(예: 열 이름 변경 또는 열 데이터 형식 변경)입니다.
기술설명
ALTER TABLE 명령은 기존 테이블의 정의를 변경합니다. 다음 하위 형식을 사용합니다.
- 열 추가이 명령어는 테이블에 새 열을 추가하는 CREATE TABLE 명령과 유사한 구문을 사용합니다.
- 드롭 컬럼드롭용ping 테이블 열이 제거됩니다. 해당 열에 적용된 제약 조건과 인덱스도 함께 제거됩니다.
- 기본값 설정/삭제: 열의 기본값을 설정하거나 제거하는 데 사용됩니다. 변경 사항은 이후 열에만 적용됩니다. INSERT 문.
- NULL이 아닌 설정/삭제: 열에 null 값을 허용할지 여부를 변경합니다.
- 설정 통계분석 작업에서 각 열에 대한 통계 수집 목표를 설정하기 위한 것입니다.
- 세트 저장컬럼의 저장 방식을 인라인으로 할지, 보조 테이블에 저장할지 설정하는 데 사용됩니다.
- OIDS 없이 설정테이블에서 기존 OID 열을 제거하는 데 사용됩니다.
- 이름 바꾸기: 테이블 이름이나 컬럼 이름을 변경합니다.
- 테이블_제약 추가테이블에 새로운 제약 조건을 추가하는 데 사용됩니다. 다음과 같은 구문을 사용합니다. 테이블 만들기 명령.
- 드롭 제약드롭에 사용됨ping 테이블 제약 조건.
- OWNER테이블, 시퀀스, 인덱스 또는 뷰의 소유자를 특정 사용자로 변경하는 데 사용됩니다.
- CLUSTER: 향후 클러스터 작업에 사용할 테이블을 표시하는 용도입니다.
열 수정
테이블 열은 여러 가지 방법으로 수정할 수 있습니다. 이러한 수정은 ALTER TABLE 명령어를 사용하여 수행됩니다. 아래에서 이러한 방법들을 살펴보겠습니다.
새 열 추가
새 열을 추가하려면 PostgreSQL 테이블의 경우 ALTER TABLE 명령은 다음 구문과 함께 사용됩니다.
ALTER TABLE table-name ADD new-column-name column-definition;
`table-name`은 수정할 테이블의 이름입니다. `new-column-name`은 추가할 새 열의 이름입니다. `column-definition`은 열 정의입니다. 데이터 형식 새로운 열의 내용입니다. 아래에 표시된 도서 표를 참조하십시오.
테이블에는 id와 name이라는 두 개의 열이 있습니다. 이 테이블에 author라는 이름의 새 열을 추가해야 합니다. 다음 명령어를 실행하세요.
ALTER TABLE Book ADD author VARCHAR(50);
위 명령을 실행한 후 Book 테이블은 이제 다음과 같습니다.
새 열이 성공적으로 추가되었습니다.
테이블 열 이름 바꾸기
ALTER TABLE 명령을 사용하여 열의 이름을 변경할 수 있습니다. 이 경우 명령은 다음 구문과 함께 사용됩니다.
ALTER TABLE table-name RENAME COLUMN old-name TO new-name;
`table-name`은 열 이름을 변경할 테이블의 이름입니다. `old-name`은 현재 열 이름이고, `new-name`은 새 열 이름입니다. 아래에 표시된 `Book` 테이블을 예로 들어 보겠습니다.
도서:
`author` 열의 이름을 `book_author`로 변경해야 합니다. 다음은 명령어입니다.
ALTER TABLE Book RENAME COLUMN author TO book_author;
명령을 실행한 후 테이블의 구조를 볼 수 있습니다.
열 이름이 성공적으로 변경되었습니다.
열의 기본값 설정
특정 열에 기본값을 설정하면 INSERT 작업 시 해당 열에 값을 지정하지 않더라도 기본값이 사용됩니다. 이 경우 ALTER TABLE 명령에서 다음 구문을 사용할 수 있습니다.
ALTER TABLE table-name ALTER COLUMN column-name [SET DEFAULT value];
`table-name`은 수정할 열이 있는 테이블의 이름입니다. `column-name`은 기본값을 설정할 열의 이름이고, `value`는 해당 열의 기본값입니다. 아래의 `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`은 수정할 테이블의 이름이고, `expression`은 테이블 열에 적용할 제약 조건입니다. Book 테이블의 `book_author` 열이 Nicholas와 Samuel 값만 허용하도록 수정해 보겠습니다.
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 사용
지금까지는 SQL 셸에서 작업을 실행했습니다. 이제 pgAdmin을 사용하여 이러한 작업을 시각적으로 수행하는 방법을 살펴보겠습니다.
새 열 추가
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
ALTER TABLE Book ADD author VARCHAR(50);
단계 4) 실행 버튼을 클릭하세요.
단계 5) 열이 추가되었는지 확인하려면 다음을 수행하세요.
- 왼쪽 탐색에서 데이터베이스를 클릭합니다.
- 데모를 확장합니다.
- 스키마를 확장합니다.
- 공개를 확장합니다.
- 테이블을 확장합니다.
- 책을 펼치세요.
- 열을 확장합니다.
아래와 같이 열이 추가되어야 합니다.
테이블 열 이름 바꾸기
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
ALTER TABLE Book RENAME COLUMN author TO book_author;
단계 4) 실행 버튼을 클릭하세요.
단계 5) 변경 사항이 성공적으로 적용되었는지 확인하려면 이전처럼 도서 테이블 열을 펼치세요.
이제 열은 다음과 같아야 합니다.
열이 성공적으로 변경되었습니다.
열의 기본값 설정
단계 1) pgAdmin 계정에 로그인하세요.
단계 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 열에 기본값이 삽입되었는지 확인할 수 있습니다.
검사 제약 조건 추가
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
ALTER TABLE Book ADD CHECK (book_author IN ('Nicholas', 'Samuel'))
단계 4) 실행 버튼을 클릭하세요.
단계 5) 이를 테스트하려면 쿼리 편집기에 다음 쿼리를 입력하고 실행 버튼을 클릭하십시오.
INSERT INTO Book VALUES(7, '최고의 PostgreSQL Book', 'Gregory Bush');
다음이 반환됩니다.
테이블 이름 바꾸기
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
ALTER TABLE Book RENAME TO Books;
단계 4) 실행 버튼을 클릭하세요.
단계 5) 테이블 이름이 변경되었는지 확인하려면 데이터베이스 > 데모 > 스키마 > 공용 > 테이블을 확장하세요.
테이블 이름이 성공적으로 변경되었습니다.

























