sql >> データベース >  >> RDS >> Mysql

mysqlデータベースのすべてのテーブルのすべてのフィールドを出力するにはどうすればよいですか?

    特定のデータベース(mydbなど)のすべてのテーブルを表示するには )、これを行います:

    USE mydb
    SHOW TABLES;
    

    mydb.mytableのすべてのフィールド、インデックス、ストレージエンジン、テーブルオプション、パーティションレイアウトを表示するには 、これを行う:

    USE mydb
    SHOW CREATE TABLE tblname\G
    

    すべてのデータベースのすべてのテーブルをまとめて表示するには、次のスクリプトを使用します。

    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
    

    特定のデータベース(mydbなど)を表示する場合 )、これを行います:

    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
    

    ビジーなInnoDBテーブルがたくさんある場合、information_schemaデータベースへのアクセスがやや遅くなる可能性があるため、これが最も速い方法です。

    試してみてください!!!



    1. MySQL全文検索で使用するためのエスケープ文字列

    2. TempDBの最適化:ボトルネックとパフォーマンスの問題の回避

    3. php多肢選択式クイズ作成者

    4. 惑星の配置