테이블 리스트
1개의 데이터베이스 이름 그룹 안에는 다수의 테이블을 포함하고 있습니다. 데이터베이 스 안에 있는 테이블의 목록을 SQL 명령을 통해서 확인할 수 있습니다.
테이블 목록
현재 선택된 데이터베이스 이름 그룹 안에 들어 있는 모든 테이블명을 출력합니다. 실행 명령은 SHOW TABLES;
입니다.
| 쿼리 문법 |
SHOW TABLES;
| 콘솔 실습 화면 |
mysql> show tables;
+----------------+
| Tables_in_jiny |
+----------------+
| members |
+----------------+
1 row in set (0.00 sec)
위와 같이 콘솔로 확인해 보면 생성된 테이블의 목록을 확인할 수 있습니다.
목록 출력
PHP를 통하여 데이터베이스명 그룹 안에 있는 테이블의 목록을 출력하도록 하겠습니다.
| PHP 예제 | mysql.class.php 파일에 메서드 예제를 추가합니다.
// 데이터베이스 목록을 읽어 옵니다
public function showTables()
{
$queryString = "show tables";
$this->msgEcho($queryString);
if ($result = mysqli_query($this->dbcon, $queryString)) {
$rowss = "";
$row_cnt = mysqli_num_rows($result);
for ($i=0;$i<$row_cnt;$i++) {
$rowss[$i] = mysqli_fetch_object($result);
}
$result->free();
return $rowss;
}
}
예제 파일 | sql-12.php
<?php
include "dbinfo.php";
include "mysql.class.php";
// ++ Mysqli DB 연결.
$db = new JinyMysql();
// 현재 데이터베이스 이름을 확인합니다.
$dbname = $db->currentDatabase();
echo "현재 데이터베이스 = ". $dbname . "<br>";
$key = "Tables_in_".$dbname;
if($rowss = $db->showTables()){
echo "tables Count = ". count($rowss) . "<br>";
for($i=0;$i<count($rowss);$i++){
echo $i."=";
echo $rowss[$i]->$key;
echo "<br>";
print_r($rowss[$i]);
echo "<br>";
}
}
?>
화면 출력
mysql connected!
SELECT DATABASE()
현재 데이터베이스 = jiny
show tables
tables Count = 5
0=members
stdClass Object ( [Tables_in_jiny] => members )
1=members1
stdClass Object ( [Tables_in_jiny] => members1 )
2=members5
stdClass Object ( [Tables_in_jiny] => members5 )
3=orders1
stdClass Object ( [Tables_in_jiny] => orders1 )
4=products
stdClass Object ( [Tables_in_jiny] => products )
테이블 상세 정보
SHOW TABLES 명령은 데이터베이스의 테이블의 이름 목록을 출력합니다. 각각의 테이 블의 상세한 정보를 알고 싶을 경우에는 뒤에 STATUS 명령을 함께 사용합니다.
| 쿼리 문법 |
SHOW TABLE STATUS;
SHOW TABLE STATUS;
쿼리 명령은 테이블 목록과 더불어 테이블의 상세 정보도 같 이 출력합니다.
| 콘솔 실습 화면 |
mysql> show table status;
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+--------------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+--------------------+---------+
| board | InnoDB | 10 | Compact | 2 | 8192 | 16384 | 0 | 0 | 0 | 7 | 2017-06-11 15:07:15 | NULL | NULL | utf8_general_ci | NULL | | |
| mem_view | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | VIEW |
| members | MyISAM | 10 | Dynamic | 7 | 45 | 316 | 281474976710655 | 2048 | 0 | 101 | 2017-06-07 17:26:47 | 2017-06-07 17:27:46 | 2017-06-11 14:47:08 | utf8_general_ci | NULL | | |
| members1 | MyISAM | 10 | Dynamic | 19 | 23 | 448 | 281474976710655 | 2048 | 0 | 20 | 2017-06-01 14:53:34 | 2017-06-06 18:03:45 | NULL | utf8_general_ci | NULL | row_format=DYNAMIC | |
| members3 | MyISAM | 10 | Dynamic | 0 | 0 | 0 | 281474976710655 | 1024 | 0 | 8 | 2017-06-06 18:55:10 | 2017-06-06 18:55:10 | NULL | utf8_general_ci | NULL | row_format=DYNAMIC | |
| members_1 | MyISAM | 10 | Dynamic | 6 | 48 | 288 | 281474976710655 | 2048 | 0 | 8 | 2017-06-01 23:55:05 | 2017-06-02 00:20:22 | NULL | utf8_general_ci | NULL | | |
| members_all | InnoDB | 10 | Compact | 0 | 0 | 16384 | 0 | 0 | 0 | NULL | 2017-06-02 16:59:01 | NULL | NULL | utf8_general_ci | NULL | | |
| orders | InnoDB | 10 | Compact | 10 | 1638 | 16384 | 0 | 0 | 0 | 11 | 2017-05-22 15:33:25 | NULL | NULL | utf8_general_ci | NULL | | |
| products | InnoDB | 10 | Compact | 2 | 8192 | 16384 | 0 | 0 | 0 | 4 | 2017-05-21 12:50:22 | NULL | NULL | utf8_general_ci | NULL | | |
+-------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+---------------------+-----------------+----------+--------------------+---------+
9 rows in set (0.06 sec)
목록과 출력되는 테이블의 상세 정보는 다음과 같습니다.
- Name
- Engine
- Version
- Row_format
- Rows
- Avg_row_length
- Data_length
- Max_data_length
- Index_length
- Data_free
- Auto_increment
- Create_time
- Update_time
- Check_time
- Collation
- Checksum
- Create_options
- Comment
또는 셸 명령창에서 mysqlshow -- status
DB명으로 확인할 수도 있습니다.
| 터미널 화면 |
C:\Bitnami\wampstack-5.6.30-0\mysql\bin>mysqlshow -u root -p --status jiny
Enter password: ********
Database: jiny
…….
…….
C:\Bitnami\wampstack-5.6.30-0\mysql\bin>
셸 명령을 이용하면 직접 콘솔로 접속하여 SQL 쿼리 명령을 실행하지 않아도 되는 편리함이 있습니다.