Para ver todas as tabelas de um banco de dados específico (como
mydb
), fazem isto:USE mydb
SHOW TABLES;
Para ver todos os campos, índices, mecanismo de armazenamento, opções de tabela, layout de partição em
mydb.mytable
, fazem isto:USE mydb
SHOW CREATE TABLE tblname\G
Para ver todas as tabelas em todos os bancos de dados em massa, aqui está um 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 você quiser ver um banco de dados específico (como
mydb
), fazem isto: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
Esta deve ser a maneira mais rápida porque acessar o banco de dados information_schema pode ser um pouco lento se houver muitas tabelas InnoDB ocupadas.
De uma chance !!!