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

5.7. 토토 꽁 머니 수정#

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

당신은 할 수 있습니다 :

  • 열 추가

  • 열 제거

  • 제약 조건 추가

  • 제약 제거

  • 기본값 변경

  • 열 데이터 유형 변경

  • 열 바꾸기 열

  • 토토 꽁 머니 이름 바꾸기

이 모든 작업은를 사용하여 수행됩니다.Alter Table명령.

5.7.1. 열 추가#

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

ALTER 토토 꽁 머니 제품 추가 열 설명 텍스트;

새 열에 처음에는 기본값이 주어진 채로 채워져 있습니다 (A를 지정하지 않으면 NULL기본값절).

기본값이 일정하게 기본값을 가진 열을 추가하면시 테이블의 각 행을 업데이트 할 필요는 없습니다.Alter Table명령문이 실행됩니다. 대신, 다음에 행에 액세스 할 때 기본값이 반환되고 테이블을 다시 작성할 때 적용하여Alter Table큰 토토 꽁 머니에서도 매우 빠릅니다.

기본값이 휘발성 인 경우 (예 :clock_timestamp ()) 각 행은 시간에 계산 된 값으로 업데이트되어야합니다Alter Table실행됩니다. 잠재적으로 긴 업데이트 작업을 피하려면, 특히 어쨌든 대부분의 nondefault 값으로 열을 채우려면 기본값없이 열을 추가하는 것이 바람직 할 수 있습니다.업데이트, 다음에 설명 된대로 원하는 기본값을 추가합니다.

일반적인 구문을 사용하여 열의 제약 조건을 동시에 정의 할 수도 있습니다.

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

실제로 열 설명에 적용 할 수있는 모든 옵션토토 꽁 머니 만들기여기에서 사용할 수 있습니다. 그러나 기본값은 주어진 제약 조건을 충족해야한다는 점을 명심하십시오.add실패합니다. 또는 새 열을 올바르게 채운 후에는 제약 조건을 추가 할 수 있습니다 (아래 참조).

5.7.2. 열 제거#

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

Alter Table Products 드롭 열 설명;

열에있는 데이터가 사라집니다. 열과 관련된 토토 꽁 머니 제약 조건도 삭제됩니다. 그러나 열이 다른 토토 꽁 머니의 외국 키 제약으로 참조되는 경우postgresql그 제약 조건을 조용히 떨어 뜨리지 않습니다. 추가하여 열에 의존하는 모든 것을 삭제하는 것을 승인 할 수 있습니다캐스케이드:

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

참조PostgreSQL : 문서 : 18 : 5.15.범퍼카 토토 추적이 뒤에있는 일반적인 메커니즘에 대한 설명.

5.7.3. 제약 조건 추가#

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

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

일반적으로 토토 꽁 머니 제약으로 쓰여지지 않은 널없는 구속 조건을 추가하려면이 특수 구문을 사용할 수 있습니다.

Alter Table Products Alter Column Product_No Set NULL;

이 명령은 열에 이미 null 제약 조건이 있으면 아무것도하지 않습니다.

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

5.7.4. 제약 제거#

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

ALTER 토토 꽁 머니 제품 드롭 제약 조건 일부 _name;

열을 떨어 뜨릴 때캐스케이드다른 것이 의존하는 제약을 삭제하려면. 예를 들어 외국 키 제약 조건은 참조 열의 고유 또는 기본 키 제약 조건에 따라 다릅니다..

단순화 된 구문을 사용할 수 있습니다.

ALTER 토토 꽁 머니 제품 ALTER CORMENT PRODUCT_NO DROP NULL;

이것은 반영널 설정널없는 제약 조건을 추가하기위한 구문. 이 명령은 열에 널없는 제약 조건이없는 경우 조용히 아무것도하지 않습니다. (열에는 최대 하나의 널없는 제약 조건을 가질 수 있으므로이 명령을 제한하는 것이 모호하지 않습니다.)

5.7.5. 열의 기본값 변경#

열에 대한 새 기본값을 설정하려면 다음과 같은 명령을 사용하십시오.

Alter Table Products 변경 열 가격 세트 기본값 7.77;

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

기본값을 제거하려면 다음을 사용합니다.

Alter Table Products Alter Column Price Drop Default;

이것은 기본값을 null로 설정하는 것과 효과적으로 동일합니다. 결과적으로, 기본값이 암시 적으로 널 값이기 때문에 정의되지 않은 곳에 기본값을 삭제하는 것은 오류가 아닙니다..

5.7.6. 열의 데이터 유형 변경#

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

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

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

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

5.7.7. 열 이름 변경#

열 이름을 바꾸려면 :

Alter Table Products Column uppled_no 이름 이름 바꾸기 roction_number;

5.7.8. 토토 꽁 머니 이름 바꾸기#

토토 꽁 머니 이름 바꾸려면 :

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