如何只导出数据库中的视图?

时间:2017-02-09 08:42:38

标签: mysql

我只需要导出数据库的视图,我尝试了几种与mysqldump的组合,但我无法让它工作。

可以在没有定义者的情况下导出数据库吗?

3 个答案:

答案 0 :(得分:3)

这应该有所帮助。该脚本解析所选数据库中的所有视图并将其转储到文件

 mysql -u username INFORMATION_SCHEMA
  --skip-column-names --batch
  -e "select table_name from tables where table_type = 'VIEW'
      and table_schema = 'database'"
  | xargs mysqldump -u username database
  > views.sql

在您的特定情况下,它将是

 mysql -u root INFORMATION_SCHEMA 
   --skip-column-names --batch 
   -e "select table_name from tables 
       where table_type = 'VIEW' and 
             table_schema = 'DATA_BASE_EXAMPLE'" | xargs 
   mysqldump -u root DATA_BASE_EXAMPLE > "C:\Users\USER1\Desktop\Buckup\vistas.sql

答案 1 :(得分:0)

我建议你在dbForge Studio for MySQL中尝试Backup tool。您可以使用试用版或免费快速版,它允许创建高达1MB的sql脚本,我认为它对于所有视图定义都足够了。

所以,有一些简单的步骤:

  1. 在对象树中选择数据库并运行备份命令。
  2. 选择要备份的对象(仅限视图)。
  3. 检查'排除DEFINER和SQL SECURITY条款'选项,然后单击“加载”按钮。

答案 2 :(得分:0)

我发现导出视图以避免使用定义器的最佳方法是使用可视工具DBeaver Community Edition

选择视图,然后右键单击->生成SQL-> DDL

像魅力一样工作。