Existe uma maneira de pegar o nome das colunas de uma tabela no mysql? usando php
301
Você pode usar o DESCRIBE :
DESCRIBE my_table;
Ou nas versões mais recentes, você pode usar o INFORMAÇÕES_SCHEMA :
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
Ou você pode usar SHOW COLUMNS :
SHOW COLUMNS FROM my_table;
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'db_name' AND COLUMN_NAME = 'col_name';
desc my_table;
:-)DESC
para descrever pode ser facilmente confundido comDESC
para descer. A quantidade nominal de bytes que você economiza pela falta de legibilidade não vale a pena.As seguintes instruções SQL são quase equivalentes:
Referência: INFORMATION_SCHEMA COLUMNS
fonte
SHOW COLUMNS
retorna uma tabela que contém os nomes das colunas, tipos, etc, enquantoSELECT COLUMN NAME
retorna apenas os nomes das colunas.Eu criei uma função PDO que retorna todos os nomes de colunas em uma matriz simples.
A saída será uma matriz:
Desculpe pelo necro, mas eu gosto da minha função;)
PS: Eu não incluí a classe Core, mas você pode usar sua própria classe. DS
fonte
Esta solução é da linha de comando mysql
Na consulta abaixo, basta alterar <--DATABASE_NAME--> para o seu banco de dados e <--TABLENAME--> para o nome da tabela, onde você deseja apenas os valores dos campos da instrução DESCRIBE
fonte
Também há isso se você preferir:
fonte
Que tal agora:
fonte
Também é interessante notar que você pode usar o
EXPLAIN table_name
que é sinônimoDESCRIBE table_name
e,SHOW COLUMNS FROM table_name
embora EXPLAIN seja mais comumente usado para obter informações sobre o plano de execução da consulta.fonte
Investigar:
fonte
A tabela de descrição da função MySQL deve levá-lo aonde você quer ir (coloque o nome da tabela em "table"). Você terá que analisar um pouco a saída, mas é bem fácil. Pelo que me lembro, se você executar essa consulta, o resultado da consulta PHP acessando funções que normalmente dariam a você um par de valores-chave terá os nomes das colunas como as chaves. Mas já faz um tempo desde que eu usei o PHP, então não me prenda a isso. :)
fonte
Você também pode querer conferir
mysql_fetch_array()
, como em:fonte
Eu precisava de nomes de colunas como uma matriz plana, enquanto as outras respostas retornavam matrizes associativas, então usei:
$ col_names agora é igual a:
fonte
A
mysql_list_fields
função pode lhe interessar; mas, como o manual declara:fonte
você pode obter toda a estrutura da tabela usando o seguinte comando simples.
ou você pode usar a seguinte consulta.
fonte
no mysql para obter detalhes das colunas e estrutura da tabela seguindo palavras-chave ou consultas
1
DESC table_name
2)
DESCRIBE table_name
3)
SHOW COLUMNS FROM table_name
4)
SHOW create table table_name;
5)
EXPLAIN table_name
fonte
fonte
isso funcionou para mim ..
fonte
Eu escrevi um script php simples para buscar colunas da tabela através do PHP: Show_table_columns.php
Aproveitar!
fonte
mysqli fetch_field () funcionou para mim:
Fonte: https://www.w3schools.com/pHP/func_mysqli_fetch_field.asp
fonte