< 전체 코드 >
CREATE TABLE BOARD(
BID INT PRIMARY KEY,
TITLE VARCHAR(50) NOT NULL,
CONTENT VARCHAR(100) NOT NULL,
MID VARCHAR(30) NOT NULL,
BCOUNT INT DEFAULT 0
);
DROP TABLE BOARD;
INSERT INTO BOARD(BID, TITLE, CONTENT, MID) VALUES((SELECT NVL(MAX(BID), 100) FROM BOARD)+1, '제목', '내용', 'admin');
INSERT INTO BOARD(BID, TITLE, CONTENT, MID) VALUES((SELECT NVL(MAX(BID), 100) FROM BOARD)+1, '제목', '내용', 'test');
INSERT INTO BOARD(BID, TITLE, CONTENT, MID) VALUES((SELECT NVL(MAX(BID), 100) FROM BOARD)+1, '제제제', '내용', 'test');
INSERT INTO BOARD VALUES((SELECT NVL(MAX(BID), 100) FROM BOARD)+1, '공지', '내용', 'admin', 100);
SELECT * FROM BOARD;
SELECT * FROM BOARD ORDER BY BID DESC;
SELECT * FROM BOARD WHERE TITLE LIKE '%제%' ORDER BY BID DESC;
SELECT * FROM BOARD WHERE MID = 'admin' ORDER BY BID DESC;
SELECT * FROM BOARD ORDER BY BCOUNT DESC, BID DESC;
SELECT * FROM BOADR WHERE BID = 101;
DELETE FROM BOARD WHERE BID = 103;
UPDATE BOARD SET BCOUNT = BCOUNT+1 WHERE BID = 101;
UPDATE BOARD SET TITLE = '변경' WHERE BID = 101;
UPDATE BOARD SET CONTENT = '변경' WHERE BID = 101;
< INSERT 코드 분석 >
INSERT INTO BOARD (BID, TITLE, CONTENT, MID)
VALUES ((SELECT NVL(MAX(BID), 100) FROM BOARD)+1, '제제제', '내용', 'test');
INSERT INTO BOARD (...)
▶ BOARD 테이블에 데이터를 새로 추가하겠다
(BID, TITLE, CONTENT, MID)
▶ 데이터를 넣을 컬럼 이름을 지정 (순서 중요!)
VALUES (...)
▶ 컬럼에 넣을 값을 순서대로 작성
(SELECT NVL(MAX(BID), 100) FROM BOARD) + 1
▶ 새 글의 번호(BID) 를 자동으로 계산
번호(BID)를 자동 증가처럼 처리
현재 BOARD 테이블에 저장된 가장 큰 게시글 번호를 가져옴
테이블이 비어 있을 때(즉, MAX(BID)가 NULL일 때),
대신 100을 사용함
그 다음 번호를 사용하겠다
'DBMS' 카테고리의 다른 글
| 페이지네이션 프로젝트에서 테이블에 샘플 데이터 insert 할 때, 시퀸스 사용해보기 (0) | 2025.12.09 |
|---|---|
| 테이블 JOIN 하기 (0) | 2025.11.12 |
| SQL 테이블 생성 & 삭제 & 조회 & 정렬 (0) | 2025.11.12 |
| DB와 JAVA | 회원 탈퇴 시 댓글도 삭제하기 (0) | 2025.11.05 |
| 두 개의 테이블 JOIN 하기 (1) | 2025.11.05 |