Mysql
 sql >> Database >  >> RDS >> Mysql

Diversi modi per visualizzare le tabelle in MySQL Server

Esistono due metodi principali per visualizzare le tabelle in MySQL:

  1. Il MYSQL SHOW TABELLE comando.
  2. Interrogazione di schema_informativo.tables tabella.

In questo articolo li esploreremo entrambi.

Comando MySQL SHOW TABLES

Il comando mostra tabelle visualizza l'elenco di tutte le tabelle create in un database. La sintassi è la seguente:

SHOW [EXTENDED] | [FULL] TABLES
    [{FROM} database_name]
    [LIKE 'DBNamePattern']

Nella sintassi,

  1. Modificatori :Possiamo utilizzare una delle seguenti opzioni per visualizzare le tabelle:
    1. ESTESO – questa opzione popola l'elenco delle tabelle che sono state create dalle istruzioni ALTER TABLE non riuscite.
    2. COMPLETO – questa opzione mostra una colonna aggiuntiva che fornisce il tipo di tabella. Può essere una tabella di base, una vista o la vista di sistema.
  2. DA – se vuoi popolare l'elenco delle tabelle dalla tabella specifica, puoi utilizzare la parola chiave FROM.
  3. MI PIACE – se vuoi popolare l'elenco delle tabelle con uno schema specifico nei loro nomi, puoi utilizzare la parola chiave LIKE.

Vediamo gli esempi.

Esempio 1:mostra tutte le tabelle create in un database specifico

Per visualizzare tutte le tabelle MySQL create in Sakila database, utilizzare il modificatore FULL e la parola chiave FROM. Esegui il seguente comando:

mysql> SHOW TABLES FROM sakila;

Uscita

Come puoi vedere, la query ha popolato l'elenco delle tabelle di Sakila banca dati.

Esempio 2:popolare l'elenco di tabelle con un pattern di parole chiave specifico

Supponiamo di voler ottenere l'elenco delle tabelle i cui nomi iniziano con la parola chiave film . Stiamo utilizzando la parola chiave LIKE per abbinare il pattern.

Ma quando usiamo il MI PIACE parola chiave, non possiamo utilizzare DA modificatore. La query è la seguente:

use sakila;
SHOW TABLES like 'film%'

Risultato

Esempio 3:popolare l'elenco di tabelle con il relativo tipo

Per popolare l'elenco delle tabelle con il loro tipo, possiamo utilizzare il FULL modificatore. Supponiamo di voler derivare l'elenco delle tabelle con i loro tipi creati nel database Sakila. Vedere la seguente query:

mysql> SHOW FULL TABLES FROM sakila;

Uscita

Ora, compiliamo l'elenco delle tabelle da information_schema.tables .

Interrogazione della tabella Information_schema.tables

Per visualizzare le tabelle MySQL, possiamo utilizzare information_schema.tables tabella che contiene le seguenti informazioni:

  • Schema_tabella :Nome del database o dello schema in cui è stata creata la tabella.
  • Nome_tabella: Nome della tabella.
  • Tipo_tabella: Tipo di tabella. Può essere uno dei seguenti:
    • Vista di sistema: Elenco delle viste di sistema. Contiene le informazioni dei dettagli interni del database. Queste viste vengono create combinando più tabelle di base con le informazioni del database.
    • Tavolo base: Un elenco di tabelle di base può essere tabelle utente o tabelle di sistema.
    • Visualizza: Elenco di viste definite dall'utente.
  • Motore :Nome del motore di database in cui è stata creata la tabella.
  • Versione :il numero di versione di .frm file della tabella.
  • Formato_riga :Il formato della memoria di riga. Il formato di archiviazione delle righe può essere uno dei seguenti:
    • Risolto
    • Compresso
    • Ridondanza
    • Dinamico
    • Compatto
  • Righe_tabella :Conteggio di righe all'interno della tabella. Se stai utilizzando le tabelle InnoDB, restituisce i conteggi di righe stimati. Per ottenere il conteggio esatto delle righe, utilizza SELECT COUNT(*) interrogazione.
  • Lunghezza_riga_media :lunghezza media della riga del file di dati.
  • Lunghezza_dati :se stai utilizzando le tabelle MyISAM, il valore di data_length colonna è la lunghezza del file di dati. Se stai utilizzando le tabelle InnoDB, il valore di Data_length colonna è la quantità della dimensione allocata all'indice cluster moltiplicata per la dimensione della pagina InnoDB.
  • Lunghezza_dati_massima: La lunghezza massima consentita del file di dati. È il numero di byte che possono essere memorizzati nella tabella.
  • Lunghezza_indice: La lunghezza dell'indice. Se utilizzi le tabelle MyISAM, il valore di index_length colonna mostra la dimensione dell'indice. Se stai utilizzando le tabelle InnoDB, il valore di index_length colonna è la dimensione totale di tutti gli indici non cluster moltiplicata per la dimensione della pagina.
  • Senza dati :il numero totale di byte allocati ma non utilizzati. Se stai utilizzando la tabella InnoDB, il valore di data_free colonna è lo spazio inutilizzato del tablespace in cui è stata creata la tabella.
  • Incremento_auto: Il valore di incremento_automatico colonna è il successivo valore di incremento automatico.
  • Crea_tempo :la data e l'ora in cui è stata creata la tabella. Quando ripristiniamo il database, il valore di create_date sarà l'ora in cui il database è stato ripristinato.
  • Aggiornamento_ora :la data e l'ora in cui il file di dati è stato aggiornato. Visualizza il timestamp delle ultime istruzioni INSERT, UPDATE o DELETE eseguite sulle tabelle InnoDB.
  • Check_Time: La data e l'ora dell'ultima verifica della tabella.
  • Collazione_tabelle :il nome delle regole di confronto predefinite della tabella.
  • Somma di controllo :Il valore del checksum.
  • Crea_opzione :l'opzione di configurazione aggiuntiva utilizzata per creare la tabella.
  • Commento_tabella :il commento o le informazioni utilizzate durante la creazione della tabella.

Esempio 1:popola l'elenco di tutte le tabelle

Supponiamo di voler popolare tutte le tabelle create in tutti i database. La query è la seguente:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables;

Uscita

Come puoi vedere, la query ha popolato l'elenco delle tabelle con il nome del database e ha creato l'ora. La query ha restituito molti record, quindi l'output viene tagliato.

Esempio 2:popola l'elenco di tutte le tabelle create in un database specifico

Per popolare l'elenco delle tabelle create in Sakila database, puoi applicare il filtro su Table_Schema colonna:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables WHERE table_schema='sakila';

Uscita

Come puoi vedere, la query ha restituito l'elenco di tabelle e viste create nel database Sakila, il suo tempo di creazione e il tipo.

Esempio 3:popola l'elenco di tutte le tabelle con il numero di righe

Possiamo includere le righe_tabella colonna per visualizzare il conteggio delle righe delle tabelle MySQL. Supponiamo di voler ottenere l'elenco delle tabelle il cui nome inizia con film . L'output deve includere il numero di record all'interno di tali tabelle.

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

Uscita

Esempio 4:popolare il conteggio di tabelle e viste

Ad esempio, vogliamo ottenere il conteggio delle tabelle e delle viste create nel database. Per farlo, esegui la seguente query:

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;

Uscita

Come puoi vedere nell'immagine sopra, la query ha popolato il conteggio delle tabelle e delle viste create in tutti i database.

Esempio 5:Tabelle con le loro dimensioni

Ora, vogliamo popolare l'elenco delle tabelle create in Sakila database con la loro dimensione. Per generare l'elenco, esegui la seguente query:

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;

Uscita

Come puoi vedere, la query ha restituito il nome del database, il nome della tabella e la dimensione.

Riepilogo

Pertanto, abbiamo definito e imparato ad utilizzare i metodi per popolare l'elenco delle tabelle create nel database. Abbiamo esplorato lo SHOW TABELLE comando, quindi abbiamo esaminato il metodo di interrogazione di Information_schema.tables tavolo. Ci auguriamo che questi suggerimenti siano utili nel tuo flusso di lavoro.

Se vuoi saperne di più sulle tabelle in SQL, leggi l'articolo sulle tabelle temporanee in SQL Server. E se desideri aggiungere qualcosa, condividere i tuoi suggerimenti di lavoro o discutere di questi metodi, sei il benvenuto nella sezione Commenti.