728x90

네이버지식인에 올라온 걸 테스트도 해볼겸 윈도우 기반 AutoSet9 의 phpmyadmin 기능 확인도 해볼겸 해서 간단한 테이블을 하나 만들었다.


-- 테이블 구조 `date`
CREATE TABLE IF NOT EXISTS `date` (
  `uid` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `classcode` varchar(20) NOT NULL,
  `meeting_date` varchar(14) NOT NULL,
  `appointment_date` varchar(14) NOT NULL,
  PRIMARY KEY (`uid`),
  KEY `classcode` (`classcode`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


테이블 생성과 동시에 Index 까지 설정했다.


phpmyadmin 에서는 인덱스 설정하는 것이 무척 쉽다.

하지만 테이블 설계하면서 인덱스(Index)까지 설정해주는 것이 좋다.


MySQL 명령어 상에서 데이터 Insert 는 아래와 같이 하면 된다.

INSERT INTO `date` (`uid`, `classcode`, `meeting_date`, `appointment_date`) VALUES
(1, 'y0001', '2015-06-01', '2015-05-01'),
(2, 'y0002', '2015-06-01', '2015-05-02');


테스트용으로 데이터를 추가한다고 하면 phpmyadmin 에서 쉽게 할 수 있다.

먼저 데이터베이스와 테이블을 선택한 다음에 아래 번호 순서대로 데이터를 입력해주기만 하면 된다.




4번을 눌러서 실행을 하고 나면 데이터가 입력되고

실제 MySQL Insert 명령을 통해서 입력되는 구문 형태를 보여준다.

여기서 uid 는 NULL 이라고 표기되면서 입력이 된 것을 알 수 있다.

이 의미는 자동으로 알아서 증가되도록 테이블 구조 설계를 했기 때문이다.

만약, php 와 연동하여 게시판 같은 테이블을 만든다고 하면, uid 칼럼은 데이터 입력시에는 고려하지 않아도 된다는 의미다. 물론 uid는 primary 키값이기 때문에 중요하다.


데이터가 잘 입력되었는지 확인해보자.

이제 지식인에 문의된 걸 해보자.

datediff 기능을 확인하기 위해 http://www.w3schools.com/sql/default.asp 에 접속하여




정의 및 사용법이 나온다. (http://www.w3schools.com/sql/func_datediff_mysql.asp 참조)


DATEDIFF(date1,date2)  -- MySQL


DATEDIFF(datepart,startdate,enddate)  -- MS-SQL Server

datepart : day, week, month, hour 등 어떤 기준으로 결과를 뽑아낼지 나온다.


이제 date 테이블에서 select 해보자.

select datediff(meeting_date, appointment_date) from date where classcode='y0001';



결과가 나왔다.


이제 테이블에서 약속일자(meeting_date) 와 약속(appointment_date) 날짜의 차이가 20 보다 작은 코드를 뽑아내고 싶다면 WHERE 조건절에 datediff 함수를 적용하면 된다.

select * from date where datediff(meeting_date, appointment_date) < 20;


윈도우 cmd 창을 띄우지 않고도 phpmyadmin 상에서 MySQL query 문 테스트가 얼마든지 가능하며 편하다.


MySQL 테이블 구조와 데이터를 내보내기를 하고 싶다면



본 게시글 작성을 위해 테스트한 테이블 구조 첨부하니 필요한 분은 받아서 테스트 해보세요..


testdb_date.sql





블로그 이미지

Link2Me

,