我正在使用一个Java程序的MySql数据库,现在我想把程序交给其他人。

如何导出MySql数据库结构没有数据在它,只是结构?


当前回答

从phpmyadmin你可以做以下事情:

出口 导出方法:自定义显示所有可能的选项 格式特定的选项:结构而不是结构和数据

导出整个数据库。

其他回答

你可以在mysqldump命令中使用——no-data选项

mysqldump -h yourhostnameorIP -u root -p --no-data dbname > schema.sql

不过要注意,no-data选项将不包括视图定义。如果你有这样的观点

create view v1 
 select `a`.`id` AS `id`,
 `a`.`created_date` AS `created_date` 
from t1;

使用——no-data选项,视图定义将更改为following

create view v1
 select 1 AS `id`, 1 AS `created_date`

如果你想从所有数据库中转储所有的表,没有数据(只有数据库和表结构),你可以使用:

mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql

这将生成一个.sql文件,您可以将该文件加载到mysql服务器上以创建一个新的数据库。 在生产环境中,这种用例并不多,但我每周都会这样做,以重置链接到演示网站的服务器,所以无论用户在一周中做什么,在周日晚上,一切都将回滚到“new”。

如果您正在使用IntelliJ,您可以启用数据库视图(视图->工具窗口->数据库)

在该视图中连接到数据库。然后您可以右键单击数据库并选择“复制DDL”。其他ide可能提供类似的功能。

添加——routines和——events选项,以包括存储的例程和事件定义

mysqldump -u <user> -p --no-data --routines --events test > dump-defs.sql