zoukankan      html  css  js  c++  java
  • 使用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里的表结构一致,等到导入完毕再操作数据库。

                

     

  • 相关阅读:
    这年头学爬虫还就得会点 scrapy 框架
    【全栈之路】JAVA基础课程十_JAVA虚拟机(20190706v1.1)
    牛客练习赛61
    ERD图
    深入理解Java虚拟机-如何利用VisualVM对高并发项目进行性能分析
    阿里研究员吴翰清:世界需要什么样的智能系统?
    《深入理解 C# (第2版)》
    HtmlAgility 抓取网页上的数据
    abp(net core)+easyui+efcore实现仓储管理系统——入库管理之三存储过程(三十九)
    如何Tomcat完美访问web项目,无需配置“项目名”
  • 原文地址:https://www.cnblogs.com/baijing1/p/9782890.html
Copyright © 2011-2022 走看看