我正在使用带有Java程序的MySql数据库,现在我想将程序交给其他人。
如何在没有数据的情况下导出MySql数据库结构,只有结构?
答案 0 :(得分:856)
您可以使用mysqldump命令的<{1}}选项
--no-data
答案 1 :(得分:76)
是的,您可以将mysqldump
与--no-data
选项一起使用:
mysqldump -u user -h localhost --no-data -p database > database.sql
答案 2 :(得分:14)
您还可以使用--no-data
选项
mysqldump -u user -h localhost --no-data -p database tablename > table.sql
答案 3 :(得分:5)
您可以将-d选项与mysqldump命令一起使用
mysqldump -u root -p -d databasename > database.sql
答案 4 :(得分:5)
不使用输出进行转储。
mysqldump --no-data <database name> --result-file=schema.sql
答案 5 :(得分:3)
您可以免费使用MYSQL管理员工具 http://dev.mysql.com/downloads/gui-tools/5.0.html
你会找到很多选项来导出你的MYSQL数据库
答案 6 :(得分:3)
请注意--no-data选项不包含视图定义。所以,如果你有一个像下面这样的观点
创建视图v1
选择a
。id
AS id
,
a
。created_date
AS created_date
从t1;
使用--no-data选项,视图定义将更改为以下内容
创建视图v1
选择1 AS id
,1 AS created_date
答案 7 :(得分:2)
获取单个表格的创建脚本:
- 选择所有表格(带换档键)
- 右键单击表名,然后单击“复制到剪贴板”&gt;创建声明。
答案 8 :(得分:2)
如果您使用IntelliJ,可以启用数据库视图(查看 - &gt;工具窗口 - &gt;数据库)
在该视图中连接到您的数据库。然后,您可以右键单击数据库并选择&#34;复制DDL&#34;。其他IDE可能提供类似的功能。
答案 9 :(得分:1)
如果要转储所有数据库中的所有表且没有数据(仅数据库和表结构),则可以使用:
mysqldump -P port -h hostname_or_ip -u username -p --no-data --all-databases > db_backup.sql
这将产生一个.sql文件,您可以将其加载到mysql服务器上以创建新的数据库。 在生产环境中,这种情况的用例并不多,但是我每周都会这样做,以重置链接到演示网站的服务器,因此,无论用户在一周中的什么工作,在星期日晚上,一切都回滚到“新”状态: )
答案 10 :(得分:0)
shell> mysqldump --no-data --routines --events test> dump-defs.sql
答案 11 :(得分:0)
添加--routines和--events选项,还包括存储的例程和事件定义
mysqldump -u <user> -p --no-data --routines --events test > dump-defs.sql
答案 12 :(得分:-1)
您可以使用以下方法
mysqldump -d <database name> > <filename.sql> // -d : without data
希望它会帮助你