mysql有没有模式,关于sql:没有数据的MySql导出模式

我正在使用带有Java程序的MySql数据库,现在我想将程序交给其他人。

如何在没有数据的情况下导出MySql数据库结构,只是结构?

您可以使用mysqldump命令使用--no-data选项

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

恕我直言,mysqldump是最好的答案。 MySQL管理员被放弃了,而MySQL Workbench仍然非常错误。

如果您不想或不能执行表锁,也请考虑使用--single-transaction选项。

-d是--no-data简称。

除了几个表之外,是否也可以导出没有数据的数据库?或者在多个出口中更容易做到这一点?

如果您的数据库有存储过程/函数,还可以考虑添加--routines

默认情况下,这不包括CREATE DATABASE命令。要包含,请将dbname替换为--databases dbname(简写:-B dbname)。然后要在另一台服务器上导入,请使用mysql -u root -p < schema.sql

为避免shell的字符集干扰编码,-r schema.sql优先于> schema.sql。使用--default-character-set = utf8(或其他)明确指定字符集也是个好主意。您仍然需要检查转储文件顶部的集名称。我之前陷入了MySQL charset编码地狱......

您可能希望使用--single-transaction来避免在执行转储时LOCK表出现问题。

是的,您可以将mysqldump与--no-data选项一起使用:

mysqldump -u user -h localhost --no-data -p database > database.sql

我很惊讶这不是接受的答案,尽管提前十秒发布,如果与接受的答案不完全相同则更完整。

@ zypA13510,显然十秒可以相差749票。

您还可以使用--no-data选项提取单个表

mysqldump -u user -h localhost --no-data -p database tablename > table.sql

不使用输出转储。

mysqldump --no-data --result-file=schema.sql

您可以在mysqldump命令中使用-d选项

mysqldump -u root -p -d databasename > database.sql

请注意--no-data选项不包含视图定义。所以,如果你有一个像下面这样的观点

创建视图v1

选择a。id AS id,

a。created_date AS created_date

从t1;

使用--no-data选项,视图定义将更改为以下内容

创建视图v1

选择1 AS id,1 AS created_date

你可以免费使用MYSQL管理员工具

http://dev.mysql.com/downloads/gui-tools/5.0.html

你会发现许多选项来导出你的MYSQL数据库

我正在使用工作台,所以我将看看如何做到这一点。大家好

如果要从所有数据库转储所有表并且没有数据(仅限数据库和表结构),您可以使用:

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

这将生成一个.sql文件,您可以将其加载到mysql服务器上以创建一个新的数据库。

在生产环境中使用这种情况并不多,但我每周都会这样做以重置与演示网站链接的服务器,因此无论用户在一周内做什么,在星期天晚上一切都回滚到"新": )

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

在该视图内部连接到您的数据库。然后,您可以右键单击数据库并选择"复制DDL"。其他IDE可能提供类似的功能。

43d9ffd5f98a0ac2c70d187e73047628.png

我试了一下,它不包含任何触发器(上帝知道还有什么不是)

获取单个表的创建脚本:

- 选择所有表格(使用shift键)

- 右键单击??表名,然后单击"复制到剪贴板">"创建语句"。

您可以使用以下方法

mysqldump -d > // -d : without data

希望它能帮到你

这个答案没有增加其他答案尚未说明的内容。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值