이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 5.7. 스포츠 토토 베이 베트맨 수정버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

5.5. 토토 베이 수정

토토 베이을 만들고 당신이 실수 또는 응용 프로그램 변경의 요구 사항이 토토 베이을 떨어 뜨려 다시 만들 수 있습니다. 그러나 이것은 아닙니다 편리한 옵션 토토 베이에 데이터가 이미 채워져 있거나 토토 베이은 다른 데이터베이스 개체 (예 : 외국의 주요 제약 조건). 그러므로PostgreSQL명령 제품군을 제공합니다 기존 토토 베이을 수정하십시오. 이것은입니다 에 포함 된 데이터를 변경하는 것과 개념적으로 구별됩니다 표 : 여기서 우리는 정의를 변경하는 데 관심이 있습니다. 표의 구조.

당신은 할 수 있습니다

  • 열 추가,

  • 열 제거,

  • 제약 조건 추가,

  • 제약 조건 제거,

  • 기본값 변경,

  • 열 데이터 유형 변경,

  • 열 바꾸기 열,

  • 토토 베이 이름 바꾸기.

이 모든 작업은를 사용하여 수행됩니다.Alter Table명령 페이지는 여기에 제공된 것 이상의 세부 정보가 포함되어 있습니다.

5.5.1. 첨가 열

열을 추가하려면 다음과 같은 명령을 사용하십시오.

ALTER 토토 베이 제품 추가 열 설명 텍스트;

새 열은 처음에는 기본값으로 채워져 있습니다 값이 주어집니다 (a를 지정하지 않으면 null기본값조항).

당신은 또한 열의 제약 조건을 동일하게 정의 할 수 있습니다. 시간, 일반적인 구문 사용 :

ALTER 토토 베이 제품 추가 열 설명 텍스트 확인 (description < ');

실제로 열에 적용 할 수있는 모든 옵션 설명토토 베이 생성할 수 있습니다 여기에 사용됩니다. 그러나 기본값은해야한다는 것을 명심하십시오 주어진 제약 조건을 만족 시키거나add실패합니다. 또는 추가 할 수 있습니다 나중에 제약 조건 (아래 참조)이 새로 채워진 후 올바르게 열.

팁 :기본값이 필요한 열을 추가합니다 테이블의 각 행 업데이트 (새 열을 저장하려면 값). 그러나 기본값이 지정되지 않으면postgresql물리적 업데이트. 따라서 열을 채우려고한다면 대부분 nondefault 값, 열을 다음과 함께 추가하는 것이 가장 좋습니다. 기본값이없고를 사용하여 올바른 값을 삽입하십시오.업데이트그런 다음 원하는 기본값을 다음과 같이 추가하십시오 아래 설명.

5.5.2. 열 제거

열을 제거하려면 다음과 같은 명령을 사용하십시오.

Alter Table Products Drop Column 설명;

열에있는 데이터가 사라집니다. 토토 베이 열과 관련된 제약 조건도 삭제됩니다. 그러나 if 열은 다른 사람의 외국 키 제약으로 참조됩니다. 토토 베이,PostgreSQL그렇지 않습니다 그 제약을 조용히 떨어 뜨립니다. 삭제를 승인 할 수 있습니다 추가하여 열에 의존하는 모든 것캐스케이드:

Alter Table Products Drop Column 설명 캐스케이드;

참조젠 토토 베이 : 문서 : 8.2 : 종속성 추적a 이 뒤에있는 일반적인 메커니즘에 대한 설명

5.5.3. 첨가 제약

제약 조건을 추가하려면 토토 베이 제약 조건 구문이 사용됩니다. 예를 들어:

ALTER TABLE 제품 추가 확인 (이름 < '');
Alter Table Products 추가 제약 조건 일부 _name 고유 (Product_no);
Alter Table Products 추가 외국 키 (product_group_id) 참조 Product_groups;

NOT NULL 제약 조건을 추가하려면 토토 베이 제약 조건,이 구문 사용 :

Alter Table Products Alter Column Product_NO Set NULL;

제약 조건이 즉시 확인됩니다 데이터가 추가되기 전에 제약 조건을 충족해야합니다.

5.5.4. 제약 제거

제약 조건을 제거하려면 이름을 알아야합니다. 당신이 이름을 지어 쉽습니다. 그렇지 않으면 할당 된 시스템 생성 된 이름으로 찾아야합니다. 그만큼PSQL명령\ dTableName도움이 될 수 있습니다 여기; 다른 인터페이스는 검사 방법을 제공 할 수도 있습니다 테이블 세부 사항. 그런 다음 명령은 다음과 같습니다.

ALTER 토토 베이 제품 방울 제약 조건 일부 _name;

(생성 된 제약 조건 이름을 다루는 경우$ 2, 당신이 필요하다는 것을 잊지 마십시오 유효한 식별자로 만들기 위해 두 배의 인용.)

열을 떨어 뜨릴 때캐스케이드제약을 삭제하려면 다른 것이 있습니다. 예를 들어 외국 키가 있습니다 제약 조건은 참조 열 (들).

이것은 null을 제외한 모든 제약 조건 유형에 대해 동일하게 작동합니다. 제약. 널 null 제약 조건 사용을 삭제하려면

ALTER 토토 베이 제품 변경 컬럼 제품 _UL 방울이 아닙니다.

5.5.5. 열의 기본값 변경

열에 대한 새 기본값을 설정하려면 명령을 사용하십시오. 이것:

ALTER 토토 베이 제품 변경 열 가격 세트 기본 7.77;

이것은 기존 행에 영향을 미치지 않습니다. 테이블, 그것은 단지 미래의 기본값을 변경합니다삽입명령.

기본값을 제거하려면 사용

ALTER 테이블 제품 변경 칼럼 가격 하락 기본값;

이것은 기본값을 null로 설정하는 것과 효과적으로 동일합니다. 결과적으로 기본값을 삭제하는 것은 오류가 아닙니다. 기본값이 암시 적으로 널 가치.

5.5.6. 열의 데이터 유형 변경

열을 다른 데이터 유형으로 변환하려면 명령을 사용하십시오. 이와 같이:

ALTER 토토 베이 제품 변경 칼럼 가격 유형 숫자 (10,2);

이것은 열의 각각의 기존 항목이있는 경우에만 성공합니다. 암시 적 캐스트에 의해 새로운 유형으로 변환 될 수 있습니다. 더 있다면 복잡한 변환이 필요합니다. A 추가 할 수 있습니다.사용계산 방법을 지정하는 조항 옛날의 새로운 가치.

PostgreSQL열의 기본값 (있는 경우)을 새 유형으로 변환합니다. 열이 포함 된 모든 제약 조건. 그러나 이것들 전환이 실패하거나 놀라운 결과를 낳을 수 있습니다. 그것은 종종 열에 칼럼에 제약을 삭제하는 것이 가장 좋습니다. 유형을 변경 한 다음 적절하게 수정 된 백을 추가하십시오 나중에 제약.

5.5.7. 열 이름 변경

열 이름을 바꾸려면 :

Alter Table Products Column uppert_no 이름 이름 바꾸기 제품 _number;

5.5.8. 토토 베이 이름 바꾸기

토토 베이 이름 바꾸려면 :

Alter Table Products 항목으로 이름 바꾸기;