테이블 목록


스키마의 테이블 목록을 확인합니다.


rawSQL


스키마의 테이블 목록을 확인하기 위해서는 SHOW TABLES 쿼리를 전달해야 합니다.

SHOW TABLES;

현재 스키마의 모든 테이블의 목록을 출력합니다.


list() : 테이블 목록


table 클래스의 list메소드는 show tables쿼리를 대신 전송하여 결과값을 배열로 반환을 합니다.

$db->table()->list();

테이블 팩토리메소드를 호출한 후에, list() 메소드를 호출하면 됩니다.

|예제코드|: table-list01.php

<?php
require "../../loading.php"; // 오토로딩

// 데이터베이스 설정값
$dbinfo = \jiny\dbinfo();

// 설정값, 생성자 인자값으로 전달합니다.
$db = new \Jiny\Mysql\Connection($dbinfo);

// 테이블 목록출력
print_r($db->table()->list());

|실행결과|

$ php table-list.php 
Array
(
    [0] => Array
        (
            [Tables_in_db2020] => members2
        )

)

결과값는 2차원 배열로 출력됩니다. 첫번째 배열은 indexed 배열입니다. 각각의 배열은 다시 연상배열값을 가지게 됩니다. 연상배열의 컬럼명은 Tables_in_스키마로 자동 설정 됩니다.


컬럼명 없애기


불필요한 컬럼명을 indexed 배열로 변경하여 출력을 할 수 있습니다.

list() 메소드의 인자값으로 false를 전달합니다.

|예제코드| table-list02.php

<?php
require "../../loading.php"; // 오토로딩

// 데이터베이스 설정값
$dbinfo = \jiny\dbinfo();

// 설정값, 생성자 인자값으로 전달합니다.
$db = new \Jiny\Mysql\Connection($dbinfo);

// 테이블 목록출력
$list = $db->table()->list(false);
print_r($list);

|출력결과|

$ php table-list02.php 
Array
(
    [0] => members2
)

테이블 정보 및 부가기능



info


테이블의 정보를 확인합니다.

info($name)


desc() : 테이블 구조


테이블의 구조를 확인할 수 있습니다.

|예제코드| table-desc.php

<?php
require "../../loading.php"; // 오토로딩

// 데이터베이스 설정값
$dbinfo = \jiny\dbinfo();

// 설정값, 생성자 인자값으로 전달합니다.
$db = new \Jiny\Mysql\Connection($dbinfo);

// 테이블 구조
$rows = $db->table("members2")->desc();
print_r($rows);

|실행결과|

$ php table-desc.php
Array
(
    [0] => Array
        (
            [Field] => id
            [Type] => int(11)
            [Null] => NO
            [Key] => PRI
            [Default] =>
            [Extra] => auto_increment
        )

    [1] => Array
        (
            [Field] => created_at
            [Type] => datetime
            [Null] => YES
            [Key] =>
            [Default] =>
            [Extra] =>
        )

    [2] => Array
        (
            [Field] => updated_at
            [Type] => datetime
            [Null] => YES
            [Key] =>
            [Default] =>
            [Extra] =>
        )

)

실행 결괏값은 2차원 배열로 출력됩니다. 1차 index 배열값은 각 컬럼을 의미합니다. 2차 연상배열은 컬럼의 정보값을 의미합니다.


테이블 확인


테이블이 존재하는지 확인을 할 수 있습니다.

public is($name) : bool

예제코드: table-is.php

<?php
require "../../loading.php"; // 오토로딩

// 데이터베이스 설정값
$dbinfo = \jiny\dbinfo();

// 설정값, 생성자 인자값으로 전달합니다.
$db = new \Jiny\Mysql\Connection($dbinfo);

// 테이블 목록출력
$name = "members1";
if ($db->table()->is($name)) {
    echo $name. "테이블이 존재합니다.\n";
} else {
    echo $name. "테이블이 없습니다.\n";
}

|실행결과|

$ php table-is.php 
members1테이블이 존재합니다.


데이터 갯수 확인


확장된 테이블 객체를 활용하여 데이터의 갯수를 확인합니다. 데이터의 갯수는 primary key로 설정된 id 컬럼의 갯수를 체크합니다.

/**
 * 데이터 갯수 확인
 */
$count = $db->table("board")->count();
echo "데이터 갯수=".$count;

count() 메소드는 테이블의 전체 데이터의 갯수를 반환합니다.