Navicat导出查询结果为sql文件时没有表名

起因

  • 需要从市平台导出某个区的用户信息
  • 查询语句
SELECT
	ui.* 
FROM
	user_info ui,
	hzz3.sm_user su 
WHERE
	ui.id = su.ID 
	AND su.region_id LIKE '120111%'

通过导出结果为sql文件
在这里插入图片描述
在这里插入图片描述
结果中表名为空:
在这里插入图片描述

问题原因

在这里插入图片描述
在于上图的源为空,所以导出的sql语句中的表名为空

解决方法

  • 保存查询语句并命名为表名的名称
    在这里插入图片描述
  • 导出结果:选择导出已保存的查询
    在这里插入图片描述
  • 此时源名称即为保存查询的名称
    在这里插入图片描述
    结果:
    在这里插入图片描述

更好得解决方法

方法一

  • 在命令行下使用一对SQL语句完成该操作:
  • 导出查询结果:Select语句 into outfile '保存路径+文件名';
  • 导入查询结果:load data local infile '保存路径+文件名' into table 表明 character set utf8;

方法二:

  • 导出查询结果:使用MySQL自带的转存数据库工具musqldump
  • 命令行进入musqldump,使用语句 mysqldump -u用户名 -p -c --default-character-set=字符集 数据库名 数据表 --where="查询条件" > 保存路径和文件名
  • 导入查询结果:mysql -u用户名 -p -c --default-character-set=字符集 数据库名 < 保存路径和文件名

版权声明:本文为weixin_43960684原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。