postgresql
계승
수색…
비고
PostgreSQL에서 상속을 사용하려는 이유에 대한 설명은 http://stackoverflow.com/a/3075248/653378에서 확인할 수 있습니다.
어린이 테이블 만들기
CREATE TABLE users (username text, email text);
CREATE TABLE simple_users () INHERITS (users);
CREATE TABLE users_with_password (password text) INHERITS (users);
우리의 세 테이블은 다음과 같습니다.
사용자
기둥 | 유형 |
---|---|
사용자 이름 | 본문 |
이메일 | 본문 |
simple_users
기둥 | 유형 |
---|---|
사용자 이름 | 본문 |
이메일 | 본문 |
users_with_password
기둥 | 유형 |
---|---|
사용자 이름 | 본문 |
이메일 | 본문 |
암호 | 본문 |
테이블 변경
두 개의 간단한 테이블을 만들어 보겠습니다.
CREATE TABLE users (username text, email text);
CREATE TABLE simple_users () INHERITS (users);
열 추가
ALTER TABLE simple_users ADD COLUMN password text;
simple_users
기둥 | 유형 |
---|---|
사용자 이름 | 본문 |
이메일 | 본문 |
암호 | 본문 |
상위 테이블에 동일한 열을 추가하면 두 열의 정의가 병합됩니다.
ALTER TABLE users ADD COLUMN password text;
주의 사항 : 자식 "simple_users"에 대한 열 "password"의 정의를 병합합니다.
열 삭제
변경된 표 사용 :
ALTER TABLE users DROP COLUMN password;
사용자
기둥 | 유형 |
---|---|
사용자 이름 | 본문 |
이메일 | 본문 |
simple_users
기둥 | 유형 |
---|---|
사용자 이름 | 본문 |
이메일 | 본문 |
암호 | 본문 |
우리가 처음에 컬럼을 simple_users
추가했기 때문에 PostgreSQL은이 컬럼이 삭제되지 않도록합니다.
이제 다른 자식 테이블이 있으면 password
열이 삭제되었습니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow