För att se alla tabeller i en specifik databas (som mydb
), gör så här:
USE mydb
SHOW TABLES;
För att se alla fält, index, lagringsmotor, tabellalternativ, partitionslayout i mydb.mytable
, gör så här:
USE mydb
SHOW CREATE TABLE tblname\G
För att se alla tabeller i alla databaser i bulk, här är ett skript:
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
Om du vill se en specifik databas (som mydb
), gör så här:
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
Detta borde vara det snabbaste sättet eftersom åtkomst till informationsschemadatabasen kan vara något långsam om det finns många upptagna InnoDB-tabeller.
Ge det ett försök !!!