sql >> Databáze >  >> RDS >> Mysql

Jak vytisknu všechna pole pro všechny tabulky v databázi mysql?

Chcete-li zobrazit všechny tabulky konkrétní databáze (například mydb ), proveďte toto:

USE mydb
SHOW TABLES;

Chcete-li zobrazit všechna pole, indexy, modul úložiště, možnosti tabulky, rozložení oddílů v mydb.mytable , proveďte toto:

USE mydb
SHOW CREATE TABLE tblname\G

Chcete-li hromadně zobrazit všechny tabulky ve všech databázích, zde je 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

Pokud chcete vidět konkrétní databázi (například mydb ), proveďte toto:

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

Toto by měl být nejrychlejší způsob, protože přístup k databázi information_schema může být poněkud pomalý, pokud je zde mnoho zaneprázdněných tabulek InnoDB.

Vyzkoušejte to !!!



  1. Může mít stejný sloupec omezení primárního klíče a cizího klíče na jiný sloupec

  2. Jak zobrazit kategorie, podkategorie, podkategorie ve vybraném seznamu - php/mysql?

  3. Formátování výsledků dotazu MySQL, jako by byl spuštěn z konzole

  4. Zabití dotazu MySQL během provádění pomocí PHP a AJAX