| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 열 | 스포츠 토토 베트맨 : 문서 : 9.3 : 데이터 정의 | 5장. 데이터 정의 | 토토 사이트 : 문서 : 9.3 : 권한 | |
당신이 테이블을 생성하고 실수를 했다는 것을 깨닫게 되면, 또는 애플리케이션 변경 요구 사항이 있는 경우 테이블을 다시 생성해 보세요. 하지만 다음과 같은 경우에는 편리한 옵션이 아닙니다. 테이블이 이미 데이터로 채워져 있거나 테이블이 다른 데이터베이스 개체(예: 외래 키)에 의해 참조됩니다. 제약). 그러므로PostgreSQL기존 항목을 토토 꽁 머니하는 명령군을 제공합니다. 테이블. 이는 개념적으로 테이블에 포함된 데이터: 여기서는 변경에 관심이 있습니다. 테이블의 정의 또는 구조입니다.
당신은 다음을 할 수 있습니다:
열 추가
열 제거
제약조건 추가
제약조건 제거
기본값 변경
열 데이터 유형 변경
열 이름 바꾸기
토토 꽁 머니 이름 바꾸기
이 모든 작업은 다음을 사용하여 수행됩니다.토토 꽁 머니 변경명령, 해당 참조 페이지 여기에 제공된 것 이상의 세부정보가 포함되어 있습니다.
열을 추가하려면 다음과 같은 명령을 사용하세요:
ALTER TABLE 제품은 COLUMN 설명 텍스트를 추가합니다.
새 열은 처음에 기본값으로 채워집니다. 제공됩니다(지정하지 않으면 null이 됩니다.기본값절).
또한 열에 대한 제약 조건을 동시에 정의할 수 있습니다. 일반적인 구문을 사용합니다:
ALTER TABLE 제품 ADD COLUMN 설명 텍스트 확인(설명 < '');
사실 열에 적용할 수 있는 모든 옵션은 설명토토 꽁 머니 생성사용 가능 여기. 그러나 기본값은 다음을 충족해야 한다는 점을 명심하십시오. 주어진 제약 조건 또는추가실패할 것입니다. 또는 나중에 제약 조건을 추가할 수 있습니다(아래 참조). 새 열을 올바르게 입력하셨습니다.
팁:기본값이 있는 열을 추가하려면 업데이트가 필요합니다 테이블의 각 행(새 열 값을 저장하기 위해) 그러나 만일 기본값이 지정되지 않았습니다.포스트그레SQL물리적인 것을 피할 수 있습니다 업데이트. 따라서 대부분 기본값이 아닌 항목으로 열을 채우려는 경우 값이 있는 경우 기본값 없이 열을 추가하는 것이 가장 좋습니다. 다음을 사용하여 올바른 값업데이트, 그런 다음 추가하세요. 아래 설명에 따라 원하는 기본값을 선택하세요.
열을 제거하려면 다음과 같은 명령을 사용하십시오:
ALTER TABLE 제품 DROP COLUMN 설명;
열에 있던 모든 데이터가 사라집니다. 테이블 제약 해당 열과 관련된 항목도 삭제됩니다. 그러나 열이 다음과 같은 경우 다른 테이블의 외래 키 제약 조건에 의해 참조됨,포스트그레SQL조용히 떨어지지 않을 것입니다 그 제약. 종속된 모든 항목을 삭제하도록 승인할 수 있습니다. 추가하여 열에캐스케이드:
ALTER TABLE 제품 DROP COLUMN 설명 CASCADE;
참조사설 토토 : 문서 : 9.3 : 종속성 추적설명 이 뒤에 있는 일반적인 메커니즘에 대해 설명합니다.
제약조건을 추가하려면 테이블 제약조건 구문이 사용됩니다. 에 대한 예:
ALTER TABLE 제품 ADD CHECK(이름 < ''); ALTER TABLE 제품 ADD CONSTRAINT some_name UNIQUE (product_no); ALTER TABLE 제품 외래 키 추가(product_group_id) REFERENCES product_groups;
테이블로 쓸 수 없는 null이 아닌 제약 조건을 추가하려면 제약 조건이 있는 경우 다음 구문을 사용하세요.
ALTER TABLE 제품 ALTER COLUMN product_no SET NOT NULL;
제약조건이 즉시 확인되므로 테이블 데이터는 추가하려면 먼저 제약 조건을 충족해야 합니다.
제약을 제거하려면 이름을 알아야 합니다. 주셨다면 이름은 쉽죠. 그렇지 않으면 시스템에서 생성된 알아내야 할 이름.psql명령\d토토 꽁 머니 이름여기서 도움이 될 수 있습니다. 다른 인터페이스는 테이블 세부 정보를 검사하는 방법을 제공할 수도 있습니다. 그런 다음 명령은 다음과 같습니다:
ALTER TABLE 제품 DROP CONSTRAINT some_name;
(다음과 같이 생성된 제약 조건 이름을 처리하는 경우$2, 다음을 수행해야 한다는 점을 잊지 마세요. 유효한 식별자로 만들려면 큰따옴표를 사용하세요.)
열을 삭제하는 것과 마찬가지로 추가해야 합니다.캐스케이드제약조건을 삭제하려는 경우 다른 것이 달려 있습니다. 예를 들어 외래 키는 다음과 같습니다. 제약 조건은 고유 또는 기본 키 제약 조건에 따라 달라집니다. 참조된 열입니다.
이것은 null이 아닌 것을 제외한 모든 제약 유형에 대해 동일하게 작동합니다. 제약. null이 아닌 제약 조건을 삭제하려면 다음을 사용하세요.
ALTER TABLE 제품 ALTER COLUMN product_no DROP NOT NULL;
(null이 아닌 제약 조건에는 이름이 없다는 점을 기억하세요.)
열의 새로운 기본값을 설정하려면 다음과 같은 명령을 사용하십시오:
ALTER TABLE 제품 ALTER COLUMN 가격 SET DEFAULT 7.77;
이것은 테이블의 기존 행에 영향을 미치지 않는다는 점에 유의하십시오. 미래를 위해 기본값을 변경합니다.삽입명령.
기본값을 제거하려면 다음을 사용하십시오:
ALTER TABLE 제품 ALTER COLUMN 가격 DROP DEFAULT;
이것은 기본값을 null로 설정하는 것과 사실상 동일합니다. 다음과 같이 결과적으로 기본값을 삭제하는 것은 오류가 아닙니다. 기본값은 암시적으로 null이기 때문에 정의되지 않았습니다. 값.
열을 다른 데이터 유형으로 변환하려면 다음 명령을 사용하십시오 좋아요:
ALTER TABLE 제품 ALTER COLUMN 가격 TYPE 숫자(10,2);
이것은 열의 각 기존 항목이 가능한 경우에만 성공할 것입니다. 암시적 캐스트를 통해 새 유형으로 변환됩니다. 좀 더 복잡한 경우 변환이 필요하면 다음을 추가할 수 있습니다.사용 중절에서 새 값을 계산하는 방법을 지정합니다. 늙었어.
PostgreSQL다음을 시도할 것입니다. 다음과 같이 열의 기본값(있는 경우)을 새 유형으로 변환합니다. 열과 관련된 모든 제약 조건도 마찬가지입니다. 하지만 이것들은 변환이 실패하거나 놀라운 결과가 나올 수 있습니다. 그것은 변경하기 전에 열에 대한 제약 조건을 삭제하는 것이 가장 좋습니다. 해당 유형을 선택한 다음 적절하게 수정된 제약 조건을 다시 추가합니다. 나중에요.