我正在使用带有Java程序的MySql数据库,现在我想将程序交给其他人 .
如何在没有数据的情况下导出MySql数据库结构,只是结构?
您可以使用mysqldump命令使用 --no-data 选项
--no-data
mysqldump -u root -p --no-data dbname > schema.sql
是的,您可以将 mysqldump 与 --no-data 选项一起使用:
mysqldump
mysqldump -u user -h localhost --no-data -p database > database.sql
您还可以使用 --no-data 选项提取单个表
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
您可以在mysqldump命令中使用-d选项
mysqldump -u root -p -d databasename > database.sql
不使用输出转储 .
mysqldump --no-data <database name> --result-file=schema.sql
您可以免费使用MYSQL管理员工具http://dev.mysql.com/downloads/gui-tools/5.0.html
你会发现许多选项来导出你的MYSQL数据库
如果您使用IntelliJ,您可以启用数据库视图(查看 - >工具窗口 - >数据库)
在该视图内部连接到您的数据库 . 然后,您可以右键单击数据库并选择“复制DDL” . 其他IDE可能提供类似的功能 .
要获取单个表的创建脚本:
请注意--no-data选项不包含视图定义 . 所以如果你有一个像下面这样的视图创建视图v1选择 a . id AS id , a . created_date AS created_date 来自t1;使用--no-data选项,视图定义将更改为以下创建视图v1选择1 AS id ,1 AS created_date
a
id
created_date
如果要从所有数据库转储所有表并且没有数据(仅限数据库和表结构),您可以使用:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
这将生成一个.sql文件,您可以将其加载到mysql服务器上以创建一个新的数据库 . 在 生产环境 环境中使用这种情况并不多,但我每周都这样做以重置与演示网站链接的服务器,因此无论用户在一周内做什么,在星期天晚上一切都回滚到“新”: )
您可以使用以下方法
mysqldump -d <database name> > <filename.sql> // -d : without data
希望它能帮到你
11 回答
您可以使用mysqldump命令使用
--no-data
选项是的,您可以将
mysqldump
与--no-data
选项一起使用:您还可以使用
--no-data
选项提取单个表您可以在mysqldump命令中使用-d选项
不使用输出转储 .
您可以免费使用MYSQL管理员工具http://dev.mysql.com/downloads/gui-tools/5.0.html
你会发现许多选项来导出你的MYSQL数据库
如果您使用IntelliJ,您可以启用数据库视图(查看 - >工具窗口 - >数据库)
在该视图内部连接到您的数据库 . 然后,您可以右键单击数据库并选择“复制DDL” . 其他IDE可能提供类似的功能 .
要获取单个表的创建脚本:
请注意--no-data选项不包含视图定义 . 所以如果你有一个像下面这样的视图创建视图v1选择
a
.id
ASid
,a
.created_date
AScreated_date
来自t1;使用--no-data选项,视图定义将更改为以下创建视图v1选择1 ASid
,1 AScreated_date
如果要从所有数据库转储所有表并且没有数据(仅限数据库和表结构),您可以使用:
这将生成一个.sql文件,您可以将其加载到mysql服务器上以创建一个新的数据库 . 在 生产环境 环境中使用这种情况并不多,但我每周都这样做以重置与演示网站链接的服务器,因此无论用户在一周内做什么,在星期天晚上一切都回滚到“新”: )
您可以使用以下方法
希望它能帮到你