sql >> Database teknologi >  >> RDS >> Mysql

Hvordan udskriver jeg alle felter for alle tabeller i mysql-databasen?

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!!!



  1. MySQL my.cnf præstationsjustering anbefalinger

  2. Hvordan importerer man en Excel-fil til SQL Server?

  3. Hvordan indstilles tidszonen til UTC i Play Framework 2.0 til både produktion og test?

  4. Opret forbindelse til en online MySQL-database fra localhost