我正在使用一个Java程序的MySql数据库,现在我想把程序交给其他人。
如何导出MySql数据库结构没有数据在它,只是结构?
我正在使用一个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