[mysql] MySQL의 모든 테이블에 대한 모든 열 이름을 얻는 방법은 무엇입니까?

모든 테이블 MySQL을 나열하지 않고의 모든 테이블에서 모든 열 이름을 가져 오는 빠른 방법이 있습니까?



답변

select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position


답변

MySQL에서 테이블의 모든 필드를 나열하려면 다음을 수행하십시오.

select *
  from information_schema.columns
 where table_schema = 'your_DB_name'
   and table_name = 'Your_tablename'


답변

다음 쿼리를 사용하여 모든 열 이름을 쉽게 얻는 것이 좋습니다.

Show columns from tablename


답변

SELECT * FROM information_schema.columns
WHERE table_schema = DATABASE()
ORDER BY table_name, ordinal_position

의견을 말할 충분한 담당자가 없기 때문에 여기에 nick rulez의 훌륭한 답변에 대한 약간의 개선 사항 WHERE table_schema = 'your_db'WHERE table_schema = DATABASE()있습니다.


답변

다른 사람에게 유용하다는 것을 깨달으면 각 테이블의 쉼표로 구분 된 열 목록이 표시됩니다.

SELECT table_name,GROUP_CONCAT(column_name ORDER BY ordinal_position)
FROM information_schema.columns
WHERE table_schema = DATABASE()
GROUP BY table_name
ORDER BY table_name

참고 : 열 수가 많거나 필드 이름이 긴 테이블을 사용하는 경우 데이터가 잘릴 수 있는 group_concat_max_len 제한을 알고 있어야합니다 .


답변

<?php
        $table = 'orders';
        $query = "SHOW COLUMNS FROM $table";
        if($output = mysql_query($query)):
            $columns = array();
            while($result = mysql_fetch_assoc($output)):
                $columns[] = $result['Field'];
            endwhile;
        endif;
        echo '<pre>';
        print_r($columns);
        echo '</pre>';
?>


답변

@suganya게시 한 답변과 유사하게 질문에 직접 대답하지는 않지만 단일 테이블의 빠른 대안입니다.

DESCRIBE column_name;