mysql 数据表所有字段,如何打印mysql数据库中所有表的所有字段?

I'm trying to learn the structure of a mysql database I'm not familiar with. It's been years since I used mysql.

I'm looking for a way to print all the fields for all the tables in this database. At the moment, I'm using

Show Fields from

However, this slow and clunky. Is there a faster way?

解决方案

To see all tables of a specific database (like mydb), do this:

USE mydb

SHOW TABLES;

To see all fields, indexes, storage engine, table options, partition layout in mydb.mytable, do this:

USE mydb

SHOW CREATE TABLE tblname\G

To see all tables in all databases in bulk, here is a 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

If you want to see a specific database (like mydb), do this:

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

This should be the quickest way because accessing the information_schema database can be somewhat slow if there are a lot of busy InnoDB tables.

Give it a Try !!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值