For at se alle tabeller i en bestemt database (såsom mydb
), gør dette:
USE mydb
SHOW TABLES;
For at se alle felter, indekser, lagermotor, tabelindstillinger, partitionslayout i mydb.mytable
, gør dette:
USE mydb
SHOW CREATE TABLE tblname\G
For at se alle tabeller i alle databaser samlet, her er et 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
Hvis du ønsker at se en specifik database (såsom mydb
), gør dette:
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
Dette burde være den hurtigste måde, fordi adgang til informationsskema-databasen kan være noget langsom, hvis der er mange travle InnoDB-tabeller.
Prøv det!!!