지난 포스팅에서 데이터베이스 조회 및 생성하는 법을 정리하였다. 이번에는 테이블 생성 및 조회하는 방법 정리를 해 보겠다.
기본 준비
MySQL 접속과, 데이터베이스 생성까지 진행했다고 보고 진행한다.
데이터베이스 선택
1 2 3 4 5 6 7 |
<?php $testdb = mysql_select_db('testdb', $conn); if (!$testdb) { die ('testdb 데이터베이스 사용 불가 ' . mysql_error()); } ?> |
USE testdb
쿼리문과 같은 역할을 하는 mysql_select_db
로 testdb 데이터베이스를 선택하였다.
테이블 생성 (CREATE TABLE)
자동으로 증가하는 id,
이름 name,
전화번호 phone,
역할 role
으로 구성이 된 테이블을 작성하도록 하겠다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php $query = 'CREATE TABLE testtable ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(15) NOT NULL, phone VARCHAR(15) NOT NULL, role VARCHAR(15) NOT NULL );'; $result = mysql_query($query); if (!$result) { die ('쿼리 실행 실패:' . mysql_error()); } echo "testtable 테이블 생성 성공"; ?> |
쿼리문을 작성하여 실행한다.
결과
테이블 속성 조회 (DESCRIBE)
생성한 테이블을 확인하기 위해서 DESCRIBE 명령어를 사용한다.
php에서도 역시 쿼리문으로 확인 가능하다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $query = 'DESCRIBE testtable;'; $result = mysql_query($query); $num = mysql_num_rows($result); if ($num > 0) { while($row = mysql_fetch_assoc($result)) { echo $row["Field"]." ". $row["Type"]." ". $row["Key"]." ". $row["Extra"]. "<br>"; } } else { echo "테이블 없음"; } ?> |
mysql_fetch_assoc()는 배열의 형태로 결과를 반환한다.
while 문을 통하여 첫번째 id 부터 role까지 각 row값을 출력하도록 작성하였다.
결과
마무리
위의 코드는 모두 github에 있다.
다음은 INSERT
를 통해 php에서 테이블값 삽입 및 SELECT
를 통한 조회에 대해 포스팅하겠다.