프로그램/phpmyadmin2011. 4. 3. 21:54

http://phplecture.com/48

지난시간에 phpmyadmin을 설치해 보았습니다.

오늘 만든 테이블로 디비를 이용한 메모장을 만들어 보도록 하겠습니다.

우선 디비에 메모장의 데이터를 기록할 테이블을 만들어야 하는데

이번시간에는 지난시간에 설치한 phpmyadmin 을 이용하여 테이블을 만들어 보도록 하겠습니다.

PHP를 이용하여서도 바로 테이블을 생성이 가능하지만 많이 사용하는 방법인 phpmyadmin 을 이용해 만들어 볼께요.

다음 시간부터는 데이터를 읽고 , 쓰고 , 출력하고, 수정하는 것을 직접 php에서 하도록 하겠습니다.

우선 지난 시간에 설치한 phpmyadmin 에 접속해서 로그인을 하면 다음과 같은 화면이 나옵니다.


내 데이터베이스인 handsome_db 를 클릭합니다.


현재는 만들어진 테이블이 없는 상태 입니다.

가운데쯤에 보면 "데이터베이스 handsome_db에 새로운 테이블을 만듭니다." 라는 문구가 보입니다.



여기에 테이블 명을 넣고 필드를 몇개로 할지 정한후 설정 버튼을 누르고 각 필드들의 설정을 해주면 테이블이 만들어 집니다.

우리는 메모장을 만들것이므로 이름에 sample_memo 를 적고 필드 수에는 7개를 적어 넣습니다.

설정을 누르면 아래와 같은 모양이 나옵니다.


이제 필드명들과 속성들을 채워나가보겠습니다.


위 그림을 보면서 하나하나 설명해 드리겠습니다.

우선 이 테이블의 데이터베이스 엔진은 MyISAM , 캐릭터셋은 euckr 을 선택했습니다.
캐릭터 셋은 일반적으로 UTF-8과 EUC-KR 이 있습니다. 간단하게 말하면 UTF-8은 모든언어사용, EUC-KR은 한글전용이라고 이해하시면 됩니다. 자세한건 나중에~ 나중에~ 설명드릴께요.

필드의 속성들을 간단히 설명하면 다음과 같습니다.

필드명은 같은 테이블 안에서는 중복되면 안됩니다.

데이터 형태는 여러가지가 있습니다. 가장많이 사용하는 것은 INT(정수), VARCHAR(글자수 제한 문자열), TEXT(제한없는 문자열, 실제로는 제한은 있습니다), DATE(년워일 , 0000-00-00 형태) 정도입니다.

길이는 각 데이터의 길이를 어디까지 저장할건지 입니다.

기본값은 데이터 추가시 입력값이 없을때 사용할 기본 값입니다.

부호는 INT 형에서 양수만 사용할건지입니다.

Auto Increasement 는 데이터 추가시 값을 입력하지 않으면 자동으로 기존에 입력되었던 최대값에 1을 더해줍니다.

인덱스는 데이터베이스 전체가 아닌 일부분만을 가지고 검색이나 정렬을 빠르게 하는 작은 복사본 테이블인데 요기에 무슨형태로 사용하는지 입니다. PRIMARY는 기준값으로 사용되고 또 중복도 허용이 안되는 성격을 가집니다.

첫번째 필드는 이름 m_idx 이고 종류, 즉 데이터 형태는 INT(정수) , 길이는 11, 기본값은 없고 부호는 unsigned (양수) 인덱스는 PRIMARY (기준),  NULL 은 사용하지 않으며 A_I(Auto Increasement, 자동증가)는 자동증가를 선택했다는 내용입니다.
이 필드는 각 데이터의 기준값으로 사용하게 될 필드입니다.

두번째 필드는 이름으로 사용할 m_name 이므로 문자열 50자까지 로 정했습니다.

세번째 필드는 이메일로 사용할 m_email 이며 문자열 100자까지 정했습니다.

네번째 필드는 비밀번호로 사용할 m_pass , 문자열 50자 까지로 정했습니다.

다섯번째 필드는 메모장의 내용으로 사용할 m_memo 이며 문자열인데 제한없이 사용하도록 했습니다.

여섯번째 필드는 글쓴이의 IP를 기록할 m_ip 이며 111.111.111.111 의 데이터를 적을 15자리 문자열로 정했습니다.

일곱번째 필드는 글쓴날자를 기록할 m_regdate 이고 DATE 형태 , 즉 날자기록형태중에서 0000-00-00 의 형태로 날자까지만 기록하는 속성으로 정했습니다.

이렇게 설정하고 저장을 해봅니다.


이렇게 테이블이 만들어 졌다는 메세지가 나오고 테이블의 구조를 보여줍니다.

위에서 

CREATE TABLE `handsome_db`.`sample_memo` (
`m_idx` INT( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`m_name` VARCHAR( 50 ) NOT NULL ,
`m_email` VARCHAR( 100 ) NOT NULL ,
`m_pass` VARCHAR( 50 ) NOT NULL ,
`m_memo` TEXT NOT NULL ,
`m_ip` VARCHAR( 15 ) NOT NULL ,
`m_regdate` DATE NOT NULL
) ENGINE = MYISAM CHARACTER SET euckr COLLATE euckr_korean_ci COMMENT = '샘플 메모장';

 
이 내용은 저 명령어를 수행했다는 내용입니다. 저 명령어는 mysql 에서 사용하는 언어입니다.

디비를 사용한다는 것은 저 명령어를 이용해 디비에 데이터의 입출력을 한다는 것입니다.

Posted by wrnly