• 使用MySQL workbench 和Excel表之间的数据互相导出


      导出数据是很常用的功能,但今天在操作时遇到了一点问题,记录下来,方便其他人查阅。  

    1. 使用MySQL workbench 导出数据 

      在workbench里连接好数据库之后直接点击左侧的management中的Data Export会让你选择数据表,但是导出的时候会提示报错,workbench的版本和MySQL Server的版本不一致:mysqldump Version Mismatch。我在服务器上装的是mysql5.7,windows上装的workbench是8.0。而且这种导出数据的方式不能导出到Excel,只能是.sql文件。

                              

      解决办法并不是换一个版本重新安装,而是在这个workbench里操作。

      在左侧SCHEMA里可以看到当前数据库内的表格,展开后选中你想导出的表,右键Table Data Export Wizard,然后选择你想导出的列,点next。选择文件保存的路径,格式选择csv,行分隔符选择LF,之后便是一路next即可。

                  

      之后用Excel打开文件发现是乱码,因为里面有中文,用记事本打开,选择另存为,编码选为ANSI。再次用Excel打开,这次显示正常,只不过所有列都混在第一列里。

                          

      接下来便是CSV文件转Excel文件。

      在Excel里选中第一列,点菜单栏里的数据,分列。先点下一步,然后选择分隔符号为tab键和分号,选择是否覆盖原数据,是。大功告成。

                      

                                

      确实很奇怪,同一个软件里的导出数据方式差别这么大。

     2. 使用命令行导出

      首先连接数据库,使用下面的MySQL语句来执行:

      1 select CompanyName from tablename where address='' into outfile '/home/user01/1.xls';

      上面语句是从tablename中导出所有满足条件address为空的公司名,保存的路径是自己手动指定的,不用提前准备一个空的Excel表。

      但是执行的时候可能会报错:ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement。这说明安全设置里指定了输出路径。可以用下面的语句查看:

      1 show variables like '%secure%';

                          

      要么保存到这个路径下面,要么去MySQL的配置文件里修改,我就直接保存在这里吧。

      这样并不会自动存成xls文件,下载到windows后还需要转码,和上面一节的操作相同:先转码,再保存。就不多说了。

    3. 将数据从Excel导入到MySql

      有了以上的操作,现在导入数据只要反过来就可以了,先将Excel另存为csv,再将csv的格式在记事本里改为utf-8,然后在Mysql Workbench里操作就可以。值得注意的是Excel的表结构要和MySql里的表结构一致,等到导入完毕再操作数据库。

                

     

  • 相关阅读:
    软件项目技术点(12)——绘制生成的图表到canvas
    软件项目技术点(11)——大图变小图提高绘图性能
    软件项目技术点(10)——将视频video绘制到canvas
    Git代码版本控制流程
    TypeScript名词解释系列:tsconfg中的target,module和moduleResolution
    正则表达式基础知识
    node-npm发布包-package.json中bin的用法
    npm link的作用——避免频繁发布更新
    AI在出行场景的应用实践:路线规划、ETA、动态事件挖掘…
    2020高德技术年刊:18万字、750页+,智慧出行最佳技术实践都在这了
  • 原文地址:https://www.cnblogs.com/baijing1/p/9782890.html
Copyright © 2020-2023  润新知