No MySQL, eu sei que posso listar as tabelas em um banco de dados com:
SHOW TABLES
No entanto, quero inserir esses nomes de tabelas em outra tabela, por exemplo:
INSERT INTO metadata(table_name) SHOW TABLES /* does not work */
Existe uma maneira de obter os nomes das tabelas usando uma instrução SELECT padrão, algo como:
INSERT INTO metadata(table_name) SELECT name FROM table_names /* what should table_names be? */
Respostas:
Para obter o nome de todas as tabelas, use:
Para obter o nome das tabelas de um banco de dados específico, use:
Agora, para responder à pergunta original, use esta consulta:
Para mais detalhes, consulte: http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
fonte
Experimentar:
Consulte: http://dev.mysql.com/doc/refman/5.0/en/information-schema.html
fonte
sqlite_master
se temos vários bancos de dados e precisamos selecionar todas as tabelas para um banco de dados específico, podemos usar
TABLE_SCHEMA
para definir o nome do banco de dados como:select table_name from information_schema.tables where TABLE_SCHEMA='dbname';
fonte
Além de usar a tabela INFORMATION_SCHEMA, para usar SHOW TABLES para inserir em uma tabela, você usaria o seguinte
fonte
Dê uma olhada na tabela
TABLES
no banco de dadosinformation_schema
. Ele contém informações sobre as tabelas em seus outros bancos de dados. Mas se você estiver em hospedagem compartilhada, provavelmente não terá acesso a ela.fonte
Eu acho que você pode obter os dados desejados em INFORMATION_SCHEMA TABLES.
Você pode encontrar mais informações aqui: http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
fonte
fonte
A
INFORMATION_SCHEMA.TABLES
tabela MySQL contém dados sobre ambas as tabelas (não temporárias, mas permanentes) e visualizações. A colunaTABLE_TYPE
define se este é um registro para tabela ou exibição (para tabelasTABLE_TYPE='BASE TABLE'
e visualizaçõesTABLE_TYPE='VIEW'
). Portanto, se você deseja ver apenas nas tabelas de esquema (banco de dados), há a seguinte consulta:fonte
Eu acho que pode ser útil ressaltar que, se você quiser selecionar tabelas que contenham palavras específicas, poderá fazê-lo facilmente usando o
SELECT
(em vez deSHOW
). A consulta abaixo restringe facilmente a pesquisa a tabelas que contêm "palavra-chave"fonte
Existe ainda outra maneira mais simples de obter nomes de tabelas
fonte
Esta consulta abaixo funcionou para mim. Isso pode mostrar os bancos de dados, tabelas, nomes de colunas, tipos de dados e contagem de colunas.
fonte
Para inserir, atualizar e excluir, faça o seguinte:
fonte