본문 바로가기
programming/DataManage

게시판 페이징 쿼리 만들기 테이블 만들기 mysql 5.x 사용

by 개코 - 개발과 코딩 2021. 8. 1.

게시판을 페이징 하는 것은 은 웹프로그래밍을 하는데 있어 알고리즘이라는 부분에 해당될 수 있다. 이 쿼리만 이용하면 요긴하게 사용할 곳이 많다. 지금은 데이터베이스의 버전이 높아져 with 구문을 사용하면 더 편하지만 그렇지 못한 저버전의 데이터베이스 운영시에는 요긴할 것이다.

MYSQL 페이징 테이블 만들기
MYSQL 페이징 테이블 만들기

진행과정

가장 원초적인 부분부터 시작해 볼까 한다.

시리즈이기 때문에 테이블이 조금씩 수정될 것이고, 변경된 소스는 수시로 업로드할 예정이다.

쉬운 부분부터 시작해 보려고 한다.

먼제 게시판 페이징을 위해서는 테이블을 만들고 많은 데이터가 있어야 한다.

 

테이블 만들기 CREATE TABLE

게시판이기 때문에 기본적으로 들어가는 항목들이 있다.

처음부터 복잡하게 할 이유없이 간단한 부분부터 시작하도록 하자.

글번호 / 글제목 / 글내용 / 작성자 / 최초작성일 / 최종수정일 이다.

CREATE TABLE tb_ztest_board (
	no CHAR(20) NULL COMMENT '글번호 %Y%m%d%k%i%S%f',
	title VARCHAR(250) NULL COMMENT '글제목',
	contents TEXT NULL COMMENT '글내용',
	ins_dt TIMESTAMP NULL COMMENT '최초작성일',
	upd_dt TIMESTAMP NULL COMMENT '최종수정일'
);

가장 기본적인 테이블은 위와 같다.

글번호는 키값으로 년월일시분초마이크로초 로 설정하고 있다.

글번호의 경우 자동증가 숫자로 설정해도 상관없지만 평생 데이터가 늘어난다는 가정하에 날짜로 설정하면 자리수에 변함이 없다.

( 평생 사용하면 데이터 증가량으로 어차피 테이블을 나눠야 할 수 있지만 그런건 나중으로 미루도록 하자. )

 

테이블 확인하기 SELECT TABLE

SELECT 구문을 이용해 테이블을 확인한다.

내용이 없기 때문에 테이블 스키마 정도만 출력될 것이다.

이제 데이터를 넣어보도록 한다.

SELECT * FROM tb_ztest_board
;

 

테이블에 데이터 넣기 INSERT INTO TABLE

게시판에서 페이징을 하기 위해 충분한 데이터를 넣도록 하자.

자신이 원하는 내용이 있다면 그것으로 넣어보도록 하자.

여기서는 100여개의 자료를 넣어보도록 한다.

 

INSERT INTO tb_ztest_board
(
	NO
    , title
    , contents
    , ins_dt
    , upd_dt
)
VALUES
(
	date_format(NOW(6), '%Y%m%d%k%i%S%f')
    , date_format(NOW(6), '%Y%m%d%k%i%S%f')
    , date_format(NOW(6), '%Y%m%d%k%i%S%f')
    , NOW()
    , NOW()
)
;

SELECT *, COUNT(*) FROM tb_ztest_board
;

귀찮아서 대충 날짜로 박았다.

위의 코드에서 글번호는 밀리세컨드까지 출력하여 만들어주는 코드이다.

위의 코드를 100번이상 실행하고 테이블을 조회하면 100개 이상의 데이터가 들어간 것을 확인할 수 있다.

대충 100개 이상 넣었다.

여기서부터 시작이다.

이정도 데이터가 준비가 되었다면 페이징을 하기 위한 충분한 데이터를 만든 것이다.

반응형

댓글