- 1 1. Introduzione
- 2 2. Prerequisito: Come connettersi a MySQL
- 3 3. Controllare l’elenco delle tabelle (Visualizzare un elenco di tabelle)
- 4 4. Controllare la struttura della tabella (Elenco delle colonne)
- 5 5. Check Table Contents (Data)
- 6 6. Get More Detailed Table Information
- 7 7. Verifica tramite INFORMATION_SCHEMA (Avanzato)
- 8 8. Strumenti CLI e Scorciatoie
- 9 9. Errori comuni e come risolverli
- 10 10. Riepilogo
- 11 11. FAQ (Domande Frequenti)
- 11.1 Q1. Come posso controllare i dati della tabella con condizioni specifiche?
- 11.2 Q2. Ho eseguito SHOW TABLES ma non compaiono tabelle. Perché?
- 11.3 Q3. Come posso visualizzare la struttura della tabella come DDL (istruzione CREATE)?
- 11.4 Q4. C’è troppa quantità di dati nella tabella per visualizzarli tutti in una volta.
- 11.5 Q5. Cos’è INFORMATION_SCHEMA e quando dovrei usarlo?
- 11.6 Q6. Come posso visualizzare i risultati verticalmente?
1. Introduzione
Quando si gestisce un database con MySQL, ci sono molte situazioni in cui si desidera “controllare cosa c’è dentro una tabella”. Ad esempio, potresti voler verificare che i dati di test siano stati memorizzati correttamente, o confermare che i dati previsti vengano inseriti durante lo sviluppo di un’applicazione. Essere in grado di ispezionare rapidamente il contenuto delle tabelle è estremamente importante.
Nello sviluppo e nelle operazioni quotidiane, hai spesso bisogno di informazioni come “Com’è la struttura della tabella?” o “Quali sono i tipi di colonna e i vincoli?”. Tuttavia, se non conosci MySQL, può risultare sorprendentemente poco chiaro come verificare il contenuto e la struttura di una tabella.
In questo articolo spiegheremo tutto, dalle basi per controllare il contenuto e la struttura delle tabelle in MySQL ai comandi pratici più usati e alle tecniche avanzate, oltre a errori comuni e soluzioni. Questa guida contiene informazioni utili sia per i principianti sia per chi utilizza MySQL regolarmente, quindi usala come riferimento.
2. Prerequisito: Come connettersi a MySQL
Per controllare il contenuto e la struttura delle tabelle MySQL, è necessario prima connettersi al server MySQL. Qui spieghiamo come accedere a MySQL dalla riga di comando (Terminale o Prompt dei comandi) e come selezionare un database.
Come accedere a MySQL
Per connettersi a MySQL, usa il comando seguente.
mysql -u username -p
Sostituisci “username” con il tuo nome utente MySQL. Quando esegui il comando, ti verrà chiesto di inserire una password — digita la password corretta.
Seleziona un database
Dopo aver effettuato l’accesso con successo, vedrai il prompt MySQL (mysql>). Per selezionare il database con cui vuoi lavorare, inserisci il comando seguente.
USE database_name;
Dopo questo, le operazioni successive verranno eseguite sul database selezionato.
Se dimentichi questo passaggio, potresti ricevere un errore come “Nessun database selezionato”, quindi fai attenzione.
Come elencare i database
Se vuoi vedere l’elenco dei database presenti sul server, puoi usare il comando seguente.
SHOW DATABASES;
Questo mostrerà tutti i nomi dei database in un elenco. Se necessario, conferma qui il nome del database di destinazione e passa a esso usando USE database_name;.
3. Controllare l’elenco delle tabelle (Visualizzare un elenco di tabelle)
Dopo esserti connesso a MySQL e aver selezionato il database di destinazione, spesso vorrai confermare “quali tabelle esistono”. Qui presentiamo il metodo base per elencare le tabelle, oltre a tecniche utili per restringere l’elenco solo alle tabelle di cui hai bisogno.
Comando base per elencare le tabelle
Per visualizzare un elenco di tabelle, usa il comando seguente.
SHOW TABLES;
L’esecuzione di questo comando mostra un elenco di tutti i nomi delle tabelle nel database attualmente selezionato.
Ad esempio, potresti vedere nomi di tabelle come “users”, “orders” e “products” elencati verticalmente.
Controllare l’elenco delle tabelle in un altro database
Se vuoi controllare l’elenco delle tabelle di un database diverso che non è attualmente selezionato, scrivi il comando così:
SHOW TABLES FROM database_name;
Con questo approccio, puoi controllare rapidamente le tabelle nel database specificato senza dover cambiare database usando il comando USE ogni volta.
Ricerca (filtraggio) di nomi di tabelle specifici
Quando ci sono molte tabelle, potresti voler trovare rapidamente una tabella target. In tal caso, puoi filtrare usando l’opzione LIKE.
SHOW TABLES LIKE 'search_word%';
Ad esempio, se vuoi mostrare solo le tabelle che iniziano con “user”, specifica così SHOW TABLES LIKE 'user%';.
Inoltre, a seconda della versione di MySQL, potresti poter usare una clausola SHOW TABLES WHERE.
SHOW TABLES WHERE Tables_in_database_name LIKE '%keyword%';
L’elenco delle tabelle è un’operazione fondamentale di MySQL, ma un piccolo tocco di ingegno può migliorare notevolmente l’efficienza nella gestione e nella ricerca.
4. Controllare la struttura della tabella (Elenco delle colonne)
Before checking table contents, it’s very important to understand “which columns exist and what data types and constraints are set.” Knowing the table structure helps you retrieve and edit data correctly, and it also helps prevent issues during system development and operations.
Basic command: DESCRIBE (DESC)
The most common command to check table structure is DESCRIBE. You can also use the shorthand DESC.
DESCRIBE table_name;
or
DESC table_name;
When you run this command, MySQL displays a list of column names, data types, NULL constraints, primary key information, and more.
Main items shown:
- Campo (nome della colonna)
- Tipo (tipo di dato)
- Null (se è consentito NULL)
- Chiave (chiave primaria, chiave esterna, ecc.)
- Predefinito (valore predefinito)
- Extra (informazioni aggiuntive come auto-incremento)
SHOW COLUMNS command
SHOW COLUMNS FROM table_name; visualizza quasi lo stesso contenuto di DESCRIBE. A seconda della situazione, usare questo comando va bene.
If you want more detailed information
Se hai bisogno di informazioni più dettagliate sulle colonne, usa SHOW FULL COLUMNS FROM table_name;. Questo include informazioni aggiuntive come il confronto (Collation) e i privilegi (Privileges).
When table structure checks are useful
- Comprendere “quali colonne esistono” durante lo sviluppo o la manutenzione di nuovi progetti
- Verificare i tipi di colonna, la possibilità di NULL e le informazioni sulla chiave primaria quando si indaga su un sistema esistente o si esegue l’integrazione dei dati
- Chiarire “che tipo di dato sarà memorizzato” quando si scrive il codice
To check table contents safely and accurately, start by confirming the table structure first.
5. Check Table Contents (Data)
Once you understand the table structure, the next step is to check what data is actually stored in the table. In MySQL, you can easily retrieve data from a table using the SELECT statement.
View all data
If you want to display all rows in a table, write the query like this:
SELECT * FROM table_name;
Running this command displays all rows (records) in the table.
However, if the table contains a large amount of data, displaying everything at once can be hard to read—so use caution.
Select only the columns you need
If you don’t need all columns and want to see only specific information, specify the column names you want to retrieve:
SELECT column1, column2 FROM table_name;
This displays only the specified columns, making it easier to review or aggregate data.
Filter data by conditions
If you want to check only data that matches certain conditions, use the WHERE clause:
SELECT * FROM table_name WHERE column_name = 'value';
For example, if you want to check “only the user with id = 10” in the users table, write it like:
SELECT * FROM users WHERE id = 10;
If you want to search using a partial match, use the LIKE operator:
SELECT * FROM table_name WHERE column_name LIKE 'A%';
In this example, only records whose column value starts with “A” will be displayed.
Limit the number of rows returned (LIMIT clause)
If the table contains a very large number of rows, it’s also important to limit how many results are displayed using the LIMIT clause:
SELECT * FROM table_name LIMIT 10;
This displays only the first 10 rows.
In addition, you can use OFFSET to specify which row to start from:
SELECT * FROM table_name LIMIT 10 OFFSET 20;
This retrieves 10 rows starting from the 21st row, which is useful for paging and reviewing large datasets.
6. Get More Detailed Table Information
In MySQL, there are commands not only to check table contents and structure, but also to retrieve more detailed information. Here, we explain how to check table status, creation details, table size, and more.
Check table status (SHOW TABLE STATUS)
If you want an overview of table status and basic information, use the SHOW TABLE STATUS command:
SHOW TABLE STATUS;
Eseguendo questo comando viene visualizzato un elenco di informazioni come il seguente per tutte le tabelle nel database attualmente selezionato:
- Nome della tabella (Name)
- Motore (Engine)
- Conteggio righe (Rows)
- Dimensione della tabella (Data_length, Index_length)
- Data di creazione (Create_time)
- Data ultimo aggiornamento (Update_time)
- Collation (Collation), ecc.
Se desideri controllare solo una tabella specifica, specificala in questo modo:
SHOW TABLE STATUS LIKE 'table_name';
SQL usato per creare la tabella (SHOW CREATE TABLE)
Se vuoi sapere “Quale SQL è stato usato per creare questa tabella?”, il comando SHOW CREATE TABLE è utile:
SHOW CREATE TABLE table_name;
Quando viene eseguito, restituisce l’esatta istruzione CREATE TABLE che è stata usata per creare la tabella.
Questo comando è estremamente utile per la migrazione delle tabelle, i backup e per ricreare la stessa tabella in un altro ambiente.
Quando le informazioni dettagliate sulla tabella sono utili
- Comprendere la dimensione della tabella e il conteggio delle righe per miglioramenti delle prestazioni e gestione dello spazio
- Verificare il DDL (definizioni delle tabelle) come materiale di riferimento per migrazioni e refactoring
- Investigare il tipo di motore, il set di caratteri e le informazioni sugli indici per aiutare a identificare le cause di problemi di sistema
Padroneggiando questi comandi, puoi ampliare notevolmente ciò che puoi fare nelle operazioni e nella risoluzione dei problemi di MySQL.
7. Verifica tramite INFORMATION_SCHEMA (Avanzato)
MySQL fornisce un database speciale chiamato INFORMATION_SCHEMA. Memorizza vari tipi di metadati sull’intero server MySQL, inclusi informazioni sulle tabelle, dettagli delle colonne, indici, privilegi e altro. Utilizzandolo, è possibile recuperare informazioni su tabelle e colonne in modo più flessibile e dettagliato.
Recuperare informazioni sulle tabelle usando INFORMATION_SCHEMA
Ad esempio, se desideri recuperare un elenco di tutti i nomi delle tabelle in un database specifico, puoi utilizzare il seguente SQL:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'database_name';
Questo SQL è utile quando è necessario ispezionare un gran numero di tabelle usando strumenti di gestione o raccogliere informazioni automaticamente con script.

Recuperare informazioni su colonne e indici
Puoi recuperare le informazioni sulle colonne in modo simile:
SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'database_name'
AND TABLE_NAME = 'table_name';
Puoi anche recuperare facilmente i dettagli degli indici, i vincoli, le chiavi esterne e altri metadati usando INFORMATION_SCHEMA.
Relazione con ANALYZE TABLE
Per l’ottimizzazione delle prestazioni e l’aggiornamento delle statistiche, viene utilizzato il comando ANALYZE TABLE.
Quando esegui questo comando, le statistiche della tabella vengono aggiornate e i valori statistici recuperati da INFORMATION_SCHEMA (come le stime del conteggio delle righe) diventano più precisi.
ANALYZE TABLE table_name;
Quando utilizzare INFORMATION_SCHEMA
- Quando desideri recuperare informazioni su più tabelle o colonne contemporaneamente
- Quando controlli le strutture di tabelle e colonne in processi batch o script di automazione
- Quando hai bisogno di informazioni dettagliate come indici, chiavi esterne o commenti delle tabelle
INFORMATION_SCHEMA è uno strumento potente per ottenere una comprensione più approfondita di MySQL e gestirlo in modo più efficiente. Sfruttalo appieno nelle attività di gestione quotidiana e nello sviluppo di sistemi.
8. Strumenti CLI e Scorciatoie
Quando si controlla il contenuto e la struttura delle tabelle in MySQL, conoscere comandi e opzioni pratiche dell’interfaccia a riga di comando (CLI) può migliorare notevolmente la tua efficienza. Qui presentiamo gli strumenti CLI più usati e scorciatoie utili.
Il comando mysqlshow
MySQL fornisce uno strumento CLI dedicato chiamato mysqlshow.
È specializzato per elencare database e tabelle e consente di verificare rapidamente le informazioni senza accedere interattivamente a MySQL.
Visualizza un elenco di database
mysqlshow -u username -p
Visualizza le tabelle in un database specifico
mysqlshow -u username -p database_name
Visualizza le informazioni delle colonne per una tabella specifica
mysqlshow -u username -p database_name table_name
Con questi comandi brevi, puoi controllare rapidamente la struttura e l’esistenza delle tabelle, rendendoli utili per la gestione del server e per gli script.
Rendi l’output più leggibile con l’opzione “\G”
Normalmente, quando esegui SQL in MySQL, i risultati vengono mostrati in un formato tabellare orizzontale. Tuttavia, se ci sono molte colonne o molte informazioni, l’uso di “\G” visualizza i risultati verticalmente, rendendoli molto più facili da leggere.
Esempio di utilizzo
SELECT * FROM table_name\G
Quando scritto in questo modo, ogni record viene visualizzato verticalmente, con i nomi delle colonne e i valori mostrati a coppie.
È particolarmente utile quando si controlla la struttura di una tabella o si esaminano attentamente i dettagli di un singolo record.
Altre tecniche utili da riga di comando
- Utilizzare la cronologia dei comandi Puoi usare i tasti freccia su e giù per richiamare i comandi eseguiti in precedenza, così non devi digitare lo stesso comando più volte.
- Completamento automatico Quando digiti nomi di tabelle o colonne, premi il tasto Tab dopo aver digitato parzialmente il nome per completarlo automaticamente, riducendo errori di battitura e di inserimento.
Padroneggiando gli strumenti e le scorciatoie da CLI, le operazioni MySQL diventano più comode ed efficienti. Prova a incorporarle nel tuo lavoro quotidiano e nei compiti di sviluppo.
9. Errori comuni e come risolverli
Quando si controllano i contenuti e la struttura delle tabelle in MySQL, ci sono diversi errori comuni che sia i principianti sia gli utenti esperti incontrano almeno una volta. Qui spieghiamo chiaramente gli errori tipici, le loro cause e come risolverli.
Nessun database selezionato
Messaggio di errore
ERROR 1046 (3D000): No database selected
Causa e soluzione
Questo errore si verifica quando si tenta di operare su tabelle senza aver prima selezionato un database.
Assicurati di specificare in anticipo il database di destinazione usando:
USE database_name;
Database sconosciuto
Messaggio di errore
ERROR 1049 (42000): Unknown database 'database_name'
Causa e soluzione
Questo accade quando il database specificato non esiste. Le cause più comuni includono errori di ortografia, maiuscole/minuscole errate o il database non ancora creato.
Usa il comando seguente per confermare il nome corretto:
SHOW DATABASES;
Errori di permesso (nessun risultato mostrato con SHOW TABLES / SHOW COLUMNS)
Situazioni di esempio
- Nessuna tabella appare quando si esegue SHOW TABLES
- Nessuna informazione appare quando si esegue SHOW COLUMNS
Causa e soluzione
Ciò si verifica quando l’utente MySQL non dispone di privilegi sufficienti sul database o sulla tabella.
Chiedi a un amministratore (ad esempio l’utente root) di concedere i permessi necessari, oppure configura i privilegi usando il comando GRANT appropriato.
Troppe righe restituite, rendendo i risultati difficili da leggere
Situazione di esempio
- Eseguire
SELECT * FROM table_name;genera decine di migliaia di righe visualizzate contemporaneamente
Soluzione
Usa la clausola LIMIT per limitare il numero di righe restituite.
Esempio:
SELECT * FROM table_name LIMIT 10;
Nomi di tabella o colonna errati
Situazioni di esempio
- Unknown column ‘column_name’ in ‘field list’
- Table ‘database_name.table_name’ doesn’t exist
Soluzione
Per evitare errori di ortografia, utilizza SHOW TABLES, SHOW COLUMNS o le funzioni di completamento automatico nella CLI.
La maggior parte di questi errori può essere evitata eseguendo controlli di base con attenzione. Quando qualcosa va storto, rivedi i punti sopra passo dopo passo.
10. Riepilogo
Esistono vari approcci per l’operazione di base “controllare i contenuti delle tabelle” in MySQL. In questo articolo abbiamo coperto tutto, dall’elencare le tabelle e verificare le strutture dettagliate delle tabelle, al recuperare i dati reali, fino a ottenere metadati avanzati e informazioni di gestione dettagliate.
- Usa SHOW TABLES per elencare le tabelle,
- Usa DESCRIBE (DESC) o SHOW COLUMNS per verificare le informazioni e la struttura delle colonne,
- Usa l’istruzione SELECT per recuperare i dati reali,
- Usa SHOW TABLE STATUS, SHOW CREATE TABLE e INFORMATION_SCHEMA per ispezionare informazioni di gestione dettagliate e DDL quando necessario,
- E migliora l’efficienza quotidiana di sviluppo e operazioni con strumenti da riga di comando, scorciatoie e conoscenze di troubleshooting.
Con la padronanza di queste tecniche, le operazioni sui database MySQL diventano più sicure e affidabili, e gli errori o i problemi possono essere ridotti al minimo. Questo contenuto è utile per principianti, utenti intermedi e professionisti che lavorano in ambienti reali. Applica queste tecniche nei tuoi futuri progetti di sviluppo e nelle attività di amministrazione di sistema.
11. FAQ (Domande Frequenti)
Q1. Come posso controllare i dati della tabella con condizioni specifiche?
A:
Usa la clausola WHERE così:
SELECT * FROM table_name WHERE condition;
Ad esempio:
SELECT * FROM users WHERE age > 30;
Questo recupera solo gli utenti più vecchi di 30 anni. Puoi anche combinarlo con la clausola LIMIT per controllare quante righe vengono visualizzate.
Q2. Ho eseguito SHOW TABLES ma non compaiono tabelle. Perché?
A:
Le cause possibili includono:
(1) Non hai selezionato un database (USE nome_database; è mancante),
(2) Il nome del database specificato è errato,
(3) Privilegi insufficienti.
Usa SHOW DATABASES; per confermare il nome del database e verificare se possiedi i permessi appropriati.
Q3. Come posso visualizzare la struttura della tabella come DDL (istruzione CREATE)?
A:
Esegui il seguente comando:
SHOW CREATE TABLE table_name;
Mostra l’esatta istruzione CREATE TABLE usata per creare la tabella. È utile per migrazioni di tabelle e backup.
Q4. C’è troppa quantità di dati nella tabella per visualizzarli tutti in una volta.
A:
Usa la clausola LIMIT:
SELECT * FROM table_name LIMIT 10;
Puoi anche combinarla con OFFSET per controllare intervalli specifici passo dopo passo.
Q5. Cos’è INFORMATION_SCHEMA e quando dovrei usarlo?
A:
INFORMATION_SCHEMA è un database speciale che memorizza i metadati di MySQL. È molto utile quando è necessario recuperare o gestire grandi quantità di informazioni su tabelle, colonne, indici o privilegi. Poiché può essere interrogato direttamente con SQL, è anche ideale per automazione e reporting.
Q6. Come posso visualizzare i risultati verticalmente?
A:
Aggiungi “\G” alla fine della tua istruzione SQL.
Esempio:
SELECT * FROM table_name\G
Questo visualizza ogni record verticalmente, mostrando i nomi delle colonne e i valori in un formato leggibile a coppie.

