Resumo : neste tutorial, você aprenderá como mostrar todas as visualizações em um banco de dados MySQL usando a SHOW FULL TABLE
instrução ou consultando informações do dicionário de dados.
O SHOW FULL TABLES
retorna uma lista de visualizações em um banco de dados especificado. Se você deseja exibir a instrução que cria a visualização, confira o tutorial da instrução SHOW CREATE VIEW .
MySQL Show View – Usando a instrução SHOW FULL TABLES
O MySQL trata as visualizações como tabelas com o tipo 'VIEW'
. Portanto, você pode usar a SHOW FULL TABLES
instrução para exibir todas as visualizações no banco de dados atual da seguinte maneira:
SHOW FULL TABLES
WHERE table_type = 'VIEW';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Como a SHOW FULL TABLES
instrução retorna tabelas e visualizações, precisamos adicionar uma WHERE
cláusula para obter apenas visualizações.
Se quiser mostrar todas as visualizações em um banco de dados específico, você pode usar a cláusula FROM
ou IN
na SHOW FULL TABLES
instrução:
SHOW FULL TABLES
[{FROM | IN } database_name]
WHERE table_type = 'VIEW';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe, você especifica um nome de banco de dados do qual deseja obter as visualizações após a cláusula FROM
ou IN
.
Por exemplo, a instrução a seguir mostra todas as visualizações do sys
banco de dados:
SHOW FULL TABLES IN sys
WHERE table_type='VIEW';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Se quiser encontrar visualizações que correspondam a um padrão, você pode usar a LIKE
cláusula a seguir:
SHOW FULL TABLES
[{FROM | IN } database_name]
LIKE pattern;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Por exemplo, a instrução a seguir usa a LIKE
cláusula para localizar todas as visualizações do sys
banco de dados, cujos nomes começam com waits
:
SHOW FULL TABLES
FROM sys
LIKE 'waits%';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída:
Observe que a SHOW TABLES
instrução retorna apenas as visualizações que você tem privilégio de acessar.
MySQL Show View – Usando banco de dados INFORMATION_SCHEMA
O information_schema
banco de dados fornece acesso aos metadados do banco de dados MySQL, como bancos de dados, tabelas, tipos de dados de colunas ou privilégios. O esquema de informações também é conhecido como dicionário de banco de dados ou catálogo de sistema.
Para mostrar as visualizações de um banco de dados, você usa a tables
tabela do information_schema
banco de dados:
SELECT *
FROM information_schema.tables;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Aqui está a saída parcial:
As colunas relevantes para as visualizações são:
- A
table_schema
coluna armazena o esquema ou banco de dados da visualização (ou tabela). - A
table_name
coluna armazena o nome da visualização (ou tabela). - A
table_type
coluna armazena o tipo de tabelas:BASE TABLE
para uma tabela,VIEW
para uma visualização ouSYSTEM VIEW
para umaINFORMATION_SCHEMA
tabela.
Por exemplo, esta consulta retorna todas as visualizações do classicmodels
banco de dados:
SELECT
table_name view_name
FROM
information_schema.tables
WHERE
table_type = 'VIEW' AND
table_schema = 'classicmodels';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para encontrar as visualizações que correspondem a um padrão, você usa a table_name
coluna. Por exemplo, esta consulta encontra todas as visualizações cujos nomes começam com customer
:
SELECT
table_name view_name
FROM
information_schema.tables
WHERE
table_type = 'VIEW' AND
table_schema = 'classicmodels' AND
table_name LIKE 'customer%';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use the
SHOW FULL TABLE
com thetype_type
VIEW
para retornar todas as visualizações do banco de dados atual. - Use a instrução
SHOW FULL TABLE FROM
(ouIN
) para obter todas as visualizações em um banco de dados especificado. - Adicione a
LIKE
cláusula àSHOW FULL TABLE
instrução para obter as visualizações que correspondem a um padrão. - Consulte os dados da tabela
information_schema.tables
para obter as visualizações em um banco de dados.