[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>';
?>