Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Diferentes maneiras de visualizar tabelas no MySQL Server


Existem dois métodos principais para visualizar as tabelas no MySQL:
  1. O SHOW MYSQL TABELAS comando.
  2. Consultando as Information_schema.tables tabela.

Neste artigo, vamos explorar ambos.

Comando SHOW TABLES do MySQL


O comando show tables exibe a lista de todas as tabelas criadas em um banco de dados. A sintaxe é a seguinte:
SHOW [EXTENDED] | [FULL] TABLES
    [{FROM} database_name]
    [LIKE 'DBNamePattern']

Na sintaxe,
  1. Modificadores :Podemos usar qualquer uma das seguintes opções para visualizar as tabelas:
    1. ESTENDIDO – esta opção preenche a lista de tabelas que foram criadas por falha nas instruções ALTER TABLE.
    2. COMPLETO – esta opção mostra uma coluna adicional que fornece o tipo da tabela. Pode ser uma Base Table, uma View ou a System View.
  2. DE – se você quiser preencher a lista de tabelas da tabela específica, você pode usar a palavra-chave FROM.
  3. GOSTEI – se você quiser preencher a lista de tabelas com um padrão específico em seus nomes, você pode usar a palavra-chave LIKE.

Vejamos os exemplos.

Exemplo 1:Mostrar todas as tabelas criadas em um banco de dados específico


Para visualizar todas as tabelas MySQL criadas no Sakila banco de dados, use o modificador FULL e a palavra-chave FROM. Execute o seguinte comando:
mysql> SHOW TABLES FROM sakila;

Saída

Como você pode ver, a consulta preencheu a lista de tabelas do Sakila base de dados.

Exemplo 2:preencher a lista de tabelas com um padrão de palavra-chave específico


Suponha que queremos obter a lista de tabelas cujos nomes começam com a palavra-chave filme . Estamos usando a palavra-chave LIKE para corresponder ao padrão.

Mas quando usamos o LIKE palavra-chave, não podemos usar a FROM modificador. A consulta é a seguinte:
use sakila;
SHOW TABLES like 'film%'

Saída

Exemplo 3:preencher a lista de tabelas com seu tipo


Para preencher a lista de tabelas com seu tipo, podemos usar o FULL modificador. Suponha que queremos derivar a lista de tabelas com seus tipos criados no banco de dados Sakila. Veja a seguinte consulta:
mysql> SHOW FULL TABLES FROM sakila;

Saída

Agora, vamos preencher a lista de tabelas de information_schema.tables .

Consultando a tabela Information_schema.tables


Para visualizar tabelas MySQL, podemos usar o information_schema.tables tabela que contém as seguintes informações:
  • Esquema_tabela :nome do banco de dados ou esquema no qual a tabela foi criada.
  • Nome_tabela: Nome da tabela.
  • Table_type: Tipo da tabela. Pode ser qualquer um dos seguintes:
    • Visualização do sistema: Lista das visualizações do sistema. Ele contém as informações dos detalhes internos do banco de dados. Essas visualizações são criadas combinando várias tabelas base com as informações do banco de dados.
    • Tabela base: Uma lista de tabelas base pode ser tabelas de usuário ou tabelas de sistema.
    • Visualizar: Lista de visualizações definidas pelo usuário.
  • Motor :Nome do mecanismo de banco de dados no qual a tabela foi criada.
  • Versão :o número da versão do .frm arquivo da tabela.
  • Formato_linha :O formato do armazenamento de linha. O formato de armazenamento de linha pode ser qualquer um dos seguintes:
    • Corrigido
    • Comprimido
    • Redundante
    • Dinâmico
    • Compacto
  • Table_rows :contagem de linhas dentro da tabela. Se você estiver usando tabelas InnoDB, ele retornará as contagens de linhas estimadas. Para obter a contagem exata de linhas, use o SELECT COUNT(*) consulta.
  • Avg_row_length :comprimento médio da linha do arquivo de dados.
  • Comprimento_dados :Se você estiver usando tabelas MyISAM, o valor de data_length coluna é o comprimento do arquivo de dados. Se você estiver usando as tabelas InnoDB, o valor de Data_length coluna é a quantidade do tamanho alocado ao índice clusterizado multiplicado pelo tamanho da página do InnoDB.
  • Max_data_length: O comprimento máximo permitido do arquivo de dados. É o número de bytes que podem ser armazenados na tabela.
  • Comprimento_índice: O comprimento do índice. Se você estiver usando tabelas MyISAM, o valor do index_length coluna mostra o tamanho do índice. Se você estiver usando as tabelas InnoDB, o valor do index_length coluna é o tamanho total de todos os índices não agrupados multiplicado pelo tamanho da página.
  • Sem dados :O número total de bytes alocados, mas não utilizados. Se você estiver usando a tabela InnoDB, o valor do data_free column é o espaço não utilizado do tablespace no qual a tabela foi criada.
  • Auto_increment: O valor do Auto_increment coluna é o próximo valor de incremento automático.
  • Criar_tempo :A data e hora em que a tabela foi criada. Quando restauramos o banco de dados, o valor de create_date será a hora em que o banco de dados foi restaurado.
  • Hora_de_atualização :A data e hora em que o arquivo de dados foi atualizado. Ele exibe o timestamp das últimas instruções INSERT, UPDATE ou DELETE executadas nas tabelas do InnoDB.
  • Check_Time: A data e hora em que a tabela foi verificada pela última vez.
  • Table_collation :o nome do agrupamento padrão da tabela.
  • Soma de verificação :o valor da soma de verificação.
  • Create_Option :a opção de configuração adicional que foi usada para criar a tabela.
  • Comentário_tabela :o comentário ou as informações usadas durante a criação da tabela.

Exemplo 1:preencher lista de todas as tabelas


Suponha que queremos preencher todas as tabelas criadas em todos os bancos de dados. A consulta é a seguinte:
mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables;

Saída

Como você pode ver, a consulta preencheu a lista de tabelas com o nome do banco de dados e a hora de criação. A consulta retornou muitos registros, portanto, a saída é cortada.

Exemplo 2:preencher a lista de todas as tabelas criadas em um banco de dados específico


Para preencher a lista de tabelas criadas no Sakila banco de dados, você pode aplicar o filtro no Table_Schema coluna:
mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables WHERE table_schema='sakila';

Saída

Como você pode ver, a consulta retornou a lista de tabelas e visualizações criadas no banco de dados Sakila, seu tempo de criação e tipo.

Exemplo 3:preencher lista de todas as tabelas com contagem de linhas


Podemos incluir as Table_rows coluna para visualizar a contagem de linhas das tabelas MySQL. Suponha que você queira obter a lista de tabelas cujo nome começa com filme . A saída deve incluir o número de registros nessas tabelas.
mysql> select table_catalog, table_schema, table_name,table_type,table_rows from information_schema.tables WHERE table_schema='sakila' and table_name like 'film%' and table_type='BASE TABLE';

Saída

Exemplo 4:preencher a contagem de tabelas e visualizações


Por exemplo, queremos obter a contagem das tabelas e visualizações criadas no banco de dados. Para fazer isso, execute a seguinte consulta:
mysql> select table_schema as 'Database OR Schema name', count(table_type) as 'Tables and Views', table_type as 'Object Type' from information_schema.tables  group by table_type,table_schema;

Saída

Como você pode ver na imagem acima, a consulta preencheu a contagem de tabelas e visualizações criadas em todos os bancos de dados.

Exemplo 5:Tabelas com seu tamanho


Agora, queremos preencher a lista de tabelas criadas no Sakila banco de dados com seu tamanho. Para gerar a lista, execute a seguinte consulta:
mysql> SELECT Table_schema as 'Database Name',  TABLE_NAME AS 'Table',   ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 ) AS 'Size in KB' FROM   information_schema.TABLES WHERE TABLE_SCHEMA = 'sakila' and table_type='BASE TABLE' ORDER BY  (DATA_LENGTH + INDEX_LENGTH) DESC;

Saída

Como você pode ver, a consulta retornou o nome do banco de dados, o nome da tabela e o tamanho.

Resumo


Assim, definimos e aprendemos a utilizar os métodos de preenchimento da lista de tabelas criadas no banco de dados. Exploramos a MOSTRA TABELAS comando e, em seguida, examinamos o método de consulta do Information_schema.tables tabela. Esperamos que essas dicas sejam úteis em seu fluxo de trabalho.

Se você quiser saber mais sobre tabelas no SQL, leia o artigo sobre tabelas temporárias no SQL Server. E se você quiser adicionar algo, compartilhar suas dicas de trabalho ou discutir esses métodos, fique à vontade para a seção Comentários.