Para ver todas las tablas de una base de datos específica (como mydb
), haz esto:
USE mydb
SHOW TABLES;
Para ver todos los campos, índices, motor de almacenamiento, opciones de tabla, diseño de partición en mydb.mytable
, haz esto:
USE mydb
SHOW CREATE TABLE tblname\G
Para ver todas las tablas en todas las bases de datos de forma masiva, aquí hay un 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
Si desea ver una base de datos específica (como mydb
), haz esto:
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 debería ser la forma más rápida porque acceder a la base de datos information_schema puede ser algo lento si hay muchas tablas InnoDB ocupadas.
Pruébalo !!!