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 테이블을 참조하세요.
테이블에는 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 테이블을 고려해보세요.
도서:
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은 컬럼이 수정될 테이블의 이름입니다.
컬럼 이름은 기본값이 설정될 이름입니다.
값은 열의 기본값입니다.
아래에 주어진 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)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
ALTER TABLE Book ADD author VARCHAR(50);
단계 4) 실행 버튼을 클릭하세요.
단계 5) 열이 추가되었는지 확인하려면 다음을 수행하세요.
- 왼쪽 탐색에서 데이터베이스를 클릭합니다.
- 데모를 확장합니다.
- 스키마를 확장합니다.
- 공개를 확장합니다.
- 테이블을 확장합니다.
- 책을 펼치세요.
- 열을 확장합니다.
아래와 같이 열이 추가되어야 합니다.
테이블 열 이름 바꾸기
pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
ALTER TABLE Book RENAME COLUMN author TO book_author;
단계 4) 실행 버튼을 클릭하세요.
단계 5) 변경이 성공적으로 이루어졌는지 확인하려면 다음을 수행하세요.
- 왼쪽 탐색에서 데이터베이스를 클릭합니다.
- 데모를 확장합니다.
- 스키마를 확장합니다.
- 공개를 확장합니다.
- 테이블을 확장합니다.
- 책을 펼치세요.
- 열을 확장합니다.
이제 열은 다음과 같아야 합니다.
열이 성공적으로 변경되었습니다.
열의 기본값 설정
pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.
단계 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 열에 기본값이 삽입되었는지 확인할 수 있습니다.
검사 제약 조건 추가
pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.
단계 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');
- 실행 버튼을 클릭하세요.
다음이 반환됩니다.
테이블 이름 바꾸기
pgAdmin을 통해 동일한 작업을 수행하려면 다음을 수행하십시오.
단계 1) pgAdmin 계정에 로그인하세요.
단계 2)
- 왼쪽 탐색 모음에서 데이터베이스를 클릭합니다.
- 데모를 클릭하세요.
단계 3) 쿼리 편집기에 쿼리를 입력합니다.
ALTER TABLE Book RENAME TO Books;
단계 4) 실행 버튼을 클릭하세요.
단계 5) 테이블 이름이 변경되었는지 확인하려면 다음을 수행하세요.
- 왼쪽 탐색에서 데이터베이스를 클릭합니다.
- 데모를 확장합니다.
- 스키마를 확장합니다.
- 공개를 확장합니다.
- 테이블을 확장합니다.
테이블 이름이 성공적으로 변경되었습니다.
요약
- ALTER TABLE 문은 테이블의 구조를 수정하는 데 사용됩니다.
- ALTER TABLE 명령은 수행해야 하는 작업에 따라 다양한 형식을 취합니다.
- 구조는 테이블 열일 수도 있고 테이블 자체일 수도 있습니다.
- 이 명령문을 사용하여 테이블 이름을 변경할 수 있습니다.
- ALTER TABLE 명령을 사용하여 열의 기본값을 설정할 수 있습니다.
- 명령문을 사용하여 테이블 열에 입력된 값의 유효성을 검사할 수 있습니다.