프로젝트 내역 : https://drive.google.com/file/d/1AuY-JMz5XyerScCCW90G1qJha9OHvu5u/view
프로젝트 코드 : https://github.com/smkim9202/mykit
실제로 개발하다 보니 처음에 계획한 개발 방향이 변경과 자료형 크기가 생각보다 작아서 DB를 변경해야 했다. 같은 기능을 하는 게시판들은 하나로 묶고, 레시피 게시판은 좋아요, 대표이미지 등을 사용하니 다른 테이블로 구성하기로 변경 되면서 테이블 변경이 필요해졌다. 오라클 테이블 변경에 대해 공부해서 게시판 관련 테이블을 변경했다.
Oracle
boolean타입
CREATE TABLE sd
(
num number(20) NOT NULL,
boardlock VARCHAR2(8 char) check(boardlock IN('bdunlock','bdlock')) NOT NULL,
PRIMARY KEY (num)
);
insert into sd (num, boardlock) VALUES(1,'bdunlock');
- 형식 : 컬럼명 VARCHAR2(크기) check(컬럼명 IN('FALSE', 'TRUE'))
- 데이터를 넣어줄때 check에 설정해준 형식이 아닐경우 제약조건에 걸리면서 데이터를 추가 할 수 없다.
insert into sd (num, boardlock) VALUES(1,'dd')
오류 보고 -
ORA-02290: 체크 제약조건(KSM.SYS_C0011620)이 위배되었습니다
컬럼 수정, 삭제, 추가
컬럼 수정 방법
- 형식 : alter table 테이블명 modify(컬럼명 컬럼자료형);
컬럼 삭제 방법
- 형식 : alter table 테이블명 drop column 컬럼명;
컬럼 추가 방법
- 형식 : alter table 테이블명 add 컬럼명 자료형 NOT NULL;
Board 테이블
Board 테이블 초기 생성 쿼리
CREATE TABLE Board
(
num number(20) NOT NULL,
userid varchar2(10 char) NOT NULL,
btype number NOT NULL,
title varchar2(30 char) NOT NULL,
content varchar2(2000 char) NOT NULL,
img varchar2(30 char),
regdate date NOT NULL,
boardlock number NOT NULL,
replycontent varchar2(2000 char),
myfile varchar2(100 char),
PRIMARY KEY (num)
);
Borad 테이블 수정 쿼리
alter table board modify(num number);
alter table board drop column img;
alter table board drop column boardlock;
alter table board drop column replycontent;
alter table board add boardlock VARCHAR2(8 char) check(boardlock IN('bdunlock','bdlock')) NOT NULL;
alter table board add grpnum number;
commit;
- 자료형 크기 변경 : num컬럼
- 컬럼삭제 : img, boardlock,replycontent 컬럼
- 컬럼추가 : boardlock, grpnum 컬럼
Borad 테이블 수정 후 결과
SQL> desc board
이름 널? 유형
----------------------------------------- -------- ----------------------------
NUM NOT NULL NUMBER
USERID NOT NULL VARCHAR2(10 CHAR)
BTYPE NOT NULL NUMBER
TITLE NOT NULL VARCHAR2(30 CHAR)
CONTENT NOT NULL VARCHAR2(2000 CHAR)
REGDATE NOT NULL DATE
MYFILE VARCHAR2(100 CHAR)
BOARDLOCK NOT NULL VARCHAR2(8 CHAR)
GRPNUM NUMBER
'프로젝트 > Team project(with KIC)' 카테고리의 다른 글
[Django Project : OOTD] mariaDB 연결 (0) | 2022.01.19 |
---|---|
[Django Project : OOTD] ~2022-01-19(수) 기획 및 역할분담 (0) | 2022.01.19 |
[Spring Project : Mykit] ~2021-12-14(화) 레시피게시판 완성 (0) | 2022.01.19 |
[Spring Project : Mykit] ~2021-12-10(금) 게시판 완성 (0) | 2021.12.10 |
[Spring Project : Mykit] 2021-12-03(금) 게시판 버튼, URL 정리 (0) | 2021.12.04 |