SQL 02 - 게시판

Luna·2022년 11월 24일
0

EZEN

목록 보기
5/40

게시판 스키마

-- 게시판 스키마
-- 데이터 - 글번호, 제목, 내용, 작성자, 작성일, 조회수, 비밀번호
-- 테이블 만들기 틀 -> 항목 -> 타입 -> 크기 -> PK -> NN(NOT NULL) -> 기본 값
CREATE TABLE board (
    no NUMBER PRIMARY KEY,
    title VARCHAR2(300) NOT NULL,
    content VARCHAR2(2000) NOT NULL,
    writer VARCHAR2(30) NOT NULL,
    writeDate DATE DEFAULT sysdate,
    hit NUMBER DEFAULT 0,
    pw VARCHAR2(20) NOT NULL
);

-- 글번호를 자동으로 증가되는 값을 만들어주는 시퀀스 작성
CREATE SEQUENCE board_seq;

게시판운영쿼리

-- 게시판 운영
-- 데이터 - 글번호, 제목, 내용, 작성자, 작성일, 조회수, 비밀번호

-- 1. 게시판 리스트
--  번호, 제목, 작성자, 작성일, 조회수
SELECT no, title, writer, writeDate, hit -- 보여줄 항목 선택
FROM board -- 데이터가 저장되어 있는 테이블
ORDER BY no DESC; -- 내림차순으로 정렬, 최신글을 맨 위에

-- 2. 게시판 글보기 + 조회수 증가
--  번호, 제목, 내용, 작성자, 작성일, 조회수 - 보고자하는 데이터
SELECT no, title, content, writer, writeDate, hit
FROM board
WHERE no = 2;
-- 조회수 1 증가 -> hit = hit + 1
UPDATE board SET hit = hit + 1
WHERE no = 2;
COMMIT;

-- 3. 게시판 글쓰기 - 비밀번호 필요
INSERT INTO board(no, title, content, writer, pw)
VALUES (board_seq.nextval, '게시판', '좋은 글을 공유 합니다.', '정다희', '1111');
COMMIT;

-- 4. 게시판 글수정 - 비밀번호 필요
--   글번호와 비밀번화 맞아야 수정해 준다. 수정 항목 : 제목, 내용, 작성자
UPDATE board SET title ='게시판입니다.', content='게시판 완성', writer='개발자'
WHERE no = 2 AND pw = '1111';
COMMIT;

-- 5. 게시판 글삭제 - 비밀번호 필요
--  글번호가 2번인 글을 지우자. 비밀번호가 맞아야 한다.
DELETE FROM board
WHERE no = 2 AND pw = '1111';
ROLLBACK; -- 실행된 내용 취소

-- 6. 비밀번호 변경
UPDATE board SET pw = '2222'
WHERE no=2 AND pw ='1111';
ROLLBACK;

0개의 댓글