[PHP] MySQL 데이터베이스에 생성된 테이블 목록 보기 show tables

2022. 9. 30. 21:39Program/PHP

107_PHP MySQL 데이터베이스에 생성된 테이블 목록 보기

[요약]

  • MySQL 데이터베이스에서 테이블의 목록을 보는 명령문 show tables 에 대해 알아보자.

데이터베이스에 있는 테이블의 목록을 보려면 다음의 명령문을 사용한다.


[테이블 목록을 보여주는 명령문]

SHOW TABLES;

터미널의 MySQL이나 phpMyAdmin 프로그램에서도 SHOW TABLES 명령문을 입력하면 테이블의 목록이 출력되지만 PHP로 웹페이지에 띄우기 위해서는 관련 함수와 반복문을 사용한다.

 

다음은 테이블의 목록을 보는 예제이다.

[예제: 110_showTables.php ]

<?php
    include $_SERVER['DOCUMENT_ROOT'].'/php/108-2_connectDB.php';

    $sql = 'SHOW TABLES';
    $result = $dbConnect->query($sql);

    if($result) {
      $list = $result->fetch_array(MYSQLI_BOTH);

      echo "테이블 목록 <br>";

      for($i=0; $i < (count($list) - 1); $i++) {
        echo $list[$i];
        echo '<br>';
      }
    } else {
      echo "테이블이 존재하지 않습니다.";
    }
?>

실행결과

[코드 100]에서 사용한 fetch_array() 함수는 아규먼트의 값에 따라 배열의 데이터형을 다르게 출력한다.

 

다음은 fetch_array() 메소드에 사용할 수 있는 아규먼트이며 상수이다.

상수 기능
MYSQLI_NUM 인덱스를 숫자로 사용 (기입순서)
MYSQLI_ASSOC 인덱스를 문자로 사용 (필드명)
MYSQLI_BOTH 인텍스를 수자와 문자로 사용

 

[코드 110]의 변수 list  데이터가 아규먼트값에 따라 어떻게 다른지는 다음과 같다.

[MYSQLI_NUM 사용시 데이터]

array(1) {
  [0]=>
  string(8) "myMember"
}

인덱스가 숫자로 표시된다.

 

[MYSQLI_ASSOC 사용시 데이터]

array(1) {
  ["Tables_in_phpexample"]=>
  string(8) "myMember"
}

인덱스가 문자(필드명)로 표시된다.

 

[MYSQLI_BOTH 사용시 데이터]

array(2) {
  [0]=>
  string(8) "myMember"
  ["Table_in_phpexample"]=>
  string(8) "myMember"
}

인덱스가 숫자와 문자(필드명)로 표시된다.

상황에 맞게 3개 중 선택하여 아규먼트를 사용하면 된다.

 

 

 


 

 

 

초보자를 위한 PHP 200제
김태영 지음 | 정보문화사