sql >> Database >  >> RDS >> Mysql

Hoe druk ik alle velden voor alle tabellen in de mysql-database af?

Om alle tabellen van een specifieke database te zien (zoals mydb ), doe dit:

USE mydb
SHOW TABLES;

Om alle velden, indexen, opslagengine, tabelopties, partitielay-out in mydb.mytable te zien , doe dit:

USE mydb
SHOW CREATE TABLE tblname\G

Om alle tabellen in alle databases in bulk te zien, is hier een 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

Als u een specifieke database wilt zien (zoals mydb ), doe dit:

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

Dit zou de snelste manier moeten zijn, omdat toegang tot de information_schema-database wat traag kan zijn als er veel drukke InnoDB-tabellen zijn.

Probeer het eens !!!



  1. Kan ik de ALTER-tabel ongedaan maken in - MySQL?

  2. MySQL-groepsrijen om tijdsverschil te vinden

  3. Identity Entity Framework-bibliotheek - Database bijwerken [MySQL]

  4. Kan MySQL UDF niet installeren