How to generate DDL for all tables in a database in MySQL

sumit picture sumit · Jul 6, 2011 · Viewed 64.6k times · Source

How to generate the DDL for all tables in a database of MySQL at once. I know that the following query will output the DDL for a table. But I want DDL of all tables at once because I am having hundreds of tables in my database.

show create table <database name>.<table name>;

For example:

show create table projectdb.customer_details; 

The above query will result in DDL of customer_details table.

I am using MySQL with MySQL workbench on Windows OS.

Answer

AJ. picture AJ. · Jul 6, 2011

You can do it using the mysqldump command line utility:

mysqldump -d -u <username> -p<password> -h <hostname> <dbname>

The -d option means "without data".