데이터베이스 메타데이터

테이블 메타데이터

이 함수들을 사용하여 테이블 정보를 가져올 수 있습니다.

데이터베이스의 테이블 목록

$this->db->list_tables();

현재 연결된 데이터베이스의 모든 테이블 이름을 포함하는 배열을 반환합니다. 예시:

$tables = $this->db->list_tables();

foreach ($tables as $table)
{
        echo $table;
}

테이블 존재 여부 확인

$this->db->table_exists();

특정 테이블에 대한 작업을 실행하기 전에 테이블이 존재하는지 확인하는 것이 도움이 될 때가 있습니다. 불리언 TRUE/FALSE를 반환합니다. 사용 예시:

if ($this->db->table_exists('table_name'))
{
        // some code...
}

참고

table_name을 찾고 있는 테이블 이름으로 변경하세요.

필드 메타데이터

테이블의 필드 목록

$this->db->list_fields()

필드 이름을 포함하는 배열을 반환합니다. 이 쿼리는 두 가지 방법으로 호출할 수 있습니다:

  1. $this->db-> 오브젝트에서 테이블 이름을 제공하여 호출할 수 있습니다:

    $fields = $this->db->list_fields('table_name');
    
    foreach ($fields as $field)
    {
            echo $field;
    }
    
  2. 쿼리 결과 오브젝트에서 함수를 호출하여 실행한 쿼리와 관련된 필드 이름을 수집할 수 있습니다:

    $query = $this->db->query('SELECT * FROM some_table');
    
    foreach ($query->list_fields() as $field)
    {
            echo $field;
    }
    

테이블에 필드 존재 여부 확인

$this->db->field_exists()

작업을 수행하기 전에 특정 필드가 존재하는지 확인하는 것이 도움이 될 때가 있습니다. 불리언 TRUE/FALSE를 반환합니다. 사용 예시:

if ($this->db->field_exists('field_name', 'table_name'))
{
        // some code...
}

참고

field_name을 찾고 있는 열 이름으로 변경하고, table_name을 찾고 있는 테이블 이름으로 변경하세요.

필드 메타데이터 조회

$this->db->field_data()

필드 정보를 포함하는 오브젝트의 배열을 반환합니다.

열 유형, 최대 길이 등과 같은 필드 이름이나 다른 메타데이터를 수집하는 것이 도움이 될 때가 있습니다.

참고

모든 데이터베이스가 메타데이터를 제공하는 것은 아닙니다.

사용 예시:

$fields = $this->db->field_data('table_name');

foreach ($fields as $field)
{
        echo $field->name;
        echo $field->type;
        echo $field->max_length;
        echo $field->primary_key;
}

이미 쿼리를 실행한 경우 테이블 이름 대신 결과 오브젝트를 사용할 수 있습니다:

$query = $this->db->query("YOUR QUERY");
$fields = $query->field_data();

데이터베이스에서 지원되는 경우 이 함수에서 다음 데이터를 사용할 수 있습니다:

  • name - 열 이름

  • max_length - 열의 최대 길이

  • primary_key - 열이 기본 키인 경우 1

  • type - 열의 유형