Aby zobaczyć wszystkie tabele określonej bazy danych (np. mydb
), zrób to:
USE mydb
SHOW TABLES;
Aby zobaczyć wszystkie pola, indeksy, mechanizm przechowywania, opcje tabeli, układ partycji w mydb.mytable
, zrób to:
USE mydb
SHOW CREATE TABLE tblname\G
Aby zbiorczo zobaczyć wszystkie tabele we wszystkich bazach danych, oto skrypt:
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
Jeśli chcesz zobaczyć konkretną bazę danych (np. mydb
), zrób to:
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
To powinien być najszybszy sposób, ponieważ dostęp do bazy danych information_schema może być nieco powolny, jeśli jest dużo zajętych tabel InnoDB.
Spróbuj !!!