비밀번호 테이블
- "user" 부분을 따옴표 없이 했을 때 에러가 난다면 따옴표를 붙이고 해보는 것도 좋다.
- 외래키는 부모테이블의 기본키로만 연결할 수 있고 아닐 경우 외래키 설정이 안 된다. 그 기본키의 컬럼타입과도 같아야한다.
- ON DELETE CASCADE ON UPDATE CASCADE : 만약 이 조건을 지정하지 않으면 제약 검증을 실패할 경우 삭제 또는 수정이 되지 않는다. 부모 테이블에서 row 를 삭제/수정할 경우 연결된 자식 테이블의 row 가 함께 삭제/수정된다. 연결된 데이터를 한 번에 삭제/수정할 수 있어 데이터의 관리가 편리해지고 일관성을 유지할 수 있다.
CREATE TABLE password (
password_id SERIAL PRIMARY KEY,
user_no INTEGER UNIQUE NOT NULL,
salt VARCHAR(128),
CONSTRAINT password_fk FOREIGN KEY(user_no) REFERENCES "user"(user_no) ON DELETE CASCADE ON UPDATE CASCADE
);
테이블 수정하기 (ALTER)
- 컬럼 타입 수정하기
ALTER TABLE profile ALTER COLUMN user_no TYPE INTEGER USING user_no::integer;
- 컬럼 명 수정하기
ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
- 컬럼 추가하기
ALTER TABLE user ADD COLUMN user_name INTEGER NOT NULL UNIQUE;
- 제약조건 추가하기
- 외래키
ALTER TABLE child_table ADD CONSTRAINT constraint_name FOREIGN KEY (fk_columns) REFERENCES "parent_table" (parent_key_columns);
- 기본키
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 PRIMARY KEY(컬럼명);
- NULL ? NOT NULL ?
ALTER TABLE table_name ALTER COLUMN column_name [SET NOT NULL| DROP NOT NULL];
- 테이블명 수정하기
ALTER TABLE table_name RENAME TO new_table_name;
출처
http://www.gisdeveloper.co.kr/?p=11993
https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-alter-table/
'개발 > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] 2. 비밀번호 테이블 만들기 (0) | 2023.08.02 |
---|---|
PostgreSQL 기초 1 (0) | 2023.07.28 |
[PostgreSQL] 1. 데이터베이스 회원가입과 로그인 테이블 만들기 (0) | 2023.07.27 |