Per vedere tutte le tabelle di un database specifico (come mydb
), procedere come segue:
USE mydb
SHOW TABLES;
Per vedere tutti i campi, gli indici, il motore di archiviazione, le opzioni della tabella, il layout delle partizioni in mydb.mytable
, fai questo:
USE mydb
SHOW CREATE TABLE tblname\G
Per vedere tutte le tabelle in tutti i database in blocco, ecco uno script:
MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN="-u${MYSQL} -p${MYSQL_PASS}"
MYSQLDUMP_OPTIONS="--routines --triggers --no-data --all-databases"
mysqldump ${MYSQL_CONN} ${MYSQLDUMP_OPTIONS} > MySQLSchema.sql
less MySQLSchema.sql
Se vuoi vedere un database specifico (come mydb
), procedere come segue:
MYSQL_USER=root
MYSQL_PASS=rootpassword
MYSQL_CONN="-u${MYSQL} -p${MYSQL_PASS}"
DBTOSHOW=mydb
MYSQLDUMP_OPTIONS="--routines --triggers --no-data --databases ${DBTOSHOW}"
mysqldump ${MYSQL_CONN} ${MYSQLDUMP_OPTIONS} > MySQLSchema.sql
less MySQLSchema.sql
Questo dovrebbe essere il modo più rapido perché l'accesso al database information_schema può essere alquanto lento se ci sono molte tabelle InnoDB occupate.
Provalo!!!