이 섹션에서는 우리가 할 수 있는 방법에 대해 논의할 것입니다. 기둥을 떨어뜨려라 의 도움으로 테이블 변경 명령.
PostgreSQL DROP COLUMN 명령
테이블의 열을 삭제하기 위해 ALTER TABLE 명령에서 DROP COLUMN 조건을 사용합니다.
ALTER TABLE table_name DROP COLUMN column_name;
PostgreSQL은 테이블에서 열을 삭제하는 동안 열을 포함한 모든 제약 조건과 인덱스를 자동으로 삭제하며 모든 열 삭제 조건은 반점 (,) .
다른 개체가 의존하고 다음과 같은 다른 데이터베이스 개체에서도 사용되는 열은 삭제할 수 없습니다. 트리거, 뷰, 저장 프로시저, 등.
따라서 해당 열과 연결된 모든 객체를 제거하기 위해 다음을 사용합니다. 종속 옵션 드롭 컬럼 다음과 같이 명령합니다:
ALTER TABLE table_name DROP COLUMN column_name CASCADE;
존재하지 않는 열을 삭제하려는 경우 PostgreSQL에서 문제가 발생합니다. 아래 명령에서 볼 수 있듯이 이 오류를 극복하기 위해 drop column 명령에 IF EXISTS 조건을 추가합니다.
ALTER TABLE table_name DROP COLUMN IF EXISTS column_name;
위 명령에서 존재하지 않는 열을 삭제하면 PostgreSQL은 오류 대신 알림을 표시합니다.
단일 명령으로 테이블의 다양한 열을 제거해야 하는 경우 아래 명령을 사용합니다.
ALTER TABLE table_name DROP COLUMN column_name_1, DROP COLUMN column_name_2;
PostgreSQL DROP COLUMN 명령의 예
작동 원리를 이해하기 위해 몇 가지 예를 살펴보겠습니다. 테이블 드롭 열 변경 명령.
따라서 우리는 다음과 같은 세 가지 다른 테이블을 만들 것입니다. 제품, 카테고리, 브랜드 .
문자열 배열 자바의 경우
위 도표에서 각각의 제품 하나만 들어있습니다 상표 , 각 브랜드에는 여러 제품이 있을 수 있습니다. 각 제품에는 다음이 할당됩니다. 범주 , 각 카테고리마다 다양한 상품이 있을 수 있습니다.
다음 명령은 세 개의 테이블을 만드는 데 사용됩니다. (카테고리, 제품, 브랜드) :
만들기 카테고리 아래 명령의 도움으로 테이블:
CREATE TABLE Categories ( Cate_id serial PRIMARY KEY, Cate_name VARCHAR NOT NULL );
산출
위의 명령을 실행하면 아래 메시지가 표시됩니다. 그만큼 카테고리 테이블이 생성되었습니다.
만들기 제품 다음 명령문을 사용하는 테이블:
CREATE TABLE Product ( Pro_id serial PRIMARY KEY, Pro_name VARCHAR NOT NULL, Brand_id INT NOT NULL, Cate_id INT NOT NULL, List_price DECIMAL NOT NULL, Model_year SMALLINT NOT NULL, FOREIGN KEY (Cate_id) REFERENCES Categories (Cate_id), FOREIGN KEY (Brand_id) REFERENCES Brand (Brand_id) );
산출
위의 명령을 실행하면 아래 메시지가 나타납니다. 그만큼 제품 테이블이 생성되었습니다.
만들기 상표 다음 명령을 사용하여 테이블을 만듭니다.
CREATE TABLE Brand ( Brand_id serial PRIMARY KEY, Brand_name VARCHAR NOT NULL );
산출
위의 명령을 실행하면 아래 메시지가 나타납니다. 그만큼 상표 테이블이 생성되었습니다.
게다가 우리는 다음을 기반으로 뷰를 만듭니다. 제품 그리고 상표 테이블은 다음과 같습니다:
암리타 라오 배우
CREATE VIEW Product_info AS SELECT Pro_id, Pro_name, Brand_name FROM Product p INNER JOIN Brand B ON B .Brand_id = p.Brand_id ORDER BY Pro_name;
산출
위의 명령을 실행하면 아래 메시지가 나타납니다. 그만큼 제품_정보 뷰가 생성되었습니다.
삭제하려면 다음 명령을 사용합니다. cate_id 의 열 제품 테이블:
ALTER TABLE Product DROP COLUMN cate_id;
산출
위의 명령을 실행하면 아래 메시지가 표시됩니다. 그만큼 cate_id 열이 에서 삭제되었습니다. 제품 테이블.
자바스크립트 코멘트
psql에서 테이블을 보려면 아래 명령을 사용합니다.
Javatpoint=# d Product;
위 스크린샷에서 볼 수 있듯이 위 명령은 Cat_id 열 그리고 다음을 포함합니다 Cate_id 외래 키 제약 조건에 열을 추가합니다.
이제 우리는 Brand_id 의 열 제품 테이블.
ALTER TABLE Product DROP COLUMN Brand_id;
위 명령을 실행하면 PostgreSQL에서 아래 오류가 발생합니다.
그것은 다음과 같이 명시했다. 제품_정보 보기가 열을 사용하고 있습니다 Brand_id ~의 제품 테이블.
그래서 우리는 종속 둘 다 삭제하는 옵션 Brand_id 열과 제품_정보 아래 명령의 도움말을 참조하세요.
ALTER TABLE Product DROP COLUMN Brand_id CASCADE;
위 명령을 구현하면 아래가 발생합니다. 알아채다 특정 열을 삭제하십시오.
여기서는 두 가지를 모두 삭제하겠습니다. 정가_가격 및 모델_연도 단일 명령으로 열을 사용해야 하며 여러 DROP COLUMN 아래와 같은 조건:
ALTER TABLE Product DROP COLUMN List_Price, DROP COLUMN Model_year;
산출
위의 명령을 실행하면 아래와 같은 메시지 창이 나타납니다. List_price 및 Model_year 열 에서 삭제되었습니다. 제품 테이블.
위 작업이 제대로 작동하는지 확인하려면 다음을 사용합니다. 선택하다 명령:
Select * from Product ;
산출
위의 명령을 실행하면 다음과 같은 결과가 출력됩니다.