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

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里的表结构一致,等到导入完毕再操作数据库。

            

 

使用MySQL workbench 和Excel表之间的数据互相导出的更多相关文章

  1. mysql 查两个表之间的数据差集

    需要查两个表之间的差集 首先,想到的是主键直接not in select mailbox_id from co_user where mailbox_id not in (select mailbox ...

  2. SQL数据库与excel表格之间的数据 导入 导出

  3. SQL Server 之 在数据库之间进行数据导入导出

    1.同一服务器上数据库之间进行数据导入导出 (1).使用 SELECT INTO 导出数据 在SQL Server中使用最广泛的就是通过SELECT INTO语句导出数据,SELECT INTO语句同 ...

  4. 向MySql数据库导入excel表数据

    最近要开发一个小的答题系统,如果题目人工录入那确实很麻烦.所以想到是不是可以从用一些现有数据格式的文件导入数据.在网上查了一下,看到有关于将excel的数据导入到mysql的方法.所以将题库数据整理成 ...

  5. 【数据传输 2】批量导入的前奏:将Excel表中的数据转换为DataTable类型

    导读:我们知道,在数据库中,数据集DataSet是由多张DataTable表组成.所以,如果我们需要将数据从外部导入到数据库中,那么要做的很重要的一步是将这些数据转换为数据库可以接受的结构.今天在用S ...

  6. SQL学习之Insert的特殊用法(插入检索出的数据,表之间的数据复制)

    1.插入检索出的数据 select * from dbo.Customers_1

  7. vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表

    vlookup函数基本使用--如何将两个Excel表中的数据匹配:excel表中vlookup函数使用方法将一表引到另一表 一.将几个学生的籍贯匹配出来‘ 二.使用查找与引用函数 vlookup 三. ...

  8. Jmeter----读取excel表中的数据

    Jmeter 读取excel数据使用的方法是使用CSV Data Set Config参数化,之后使用BeanShell Sampler来读取excel表中的数据 第一步.查看所需的接口都要哪些字段和 ...

  9. 把数据库里面的stu表中的数据,导出到excel中

    # 2.写代码实现,把我的数据库里面的stu表中的数据,导出到excel中 #编号 名字 性别 # 需求分析:# 1.连接好数据库,写好SQL,查到数据 [[1,'name1','男'],[1,'na ...

随机推荐

  1. python练习题-day17

    1.计算n!,例如n=3(计算321=6), 求10! 2.已知一个数列:1.1.2.3.5.8.13.....的规律为从3开始的每一项都等于其前两项的和,这是斐波那契数列.求满足规律的100以内的所 ...

  2. docker命令汇总

    docker命令汇总 序号 类别 简述 命令 功能 说明 1 整体管理 安装 yum install docker-engine centos上安装docker Ubuntu上安装dockerapt- ...

  3. Nginx 安装后 相关错误解决

    1,安装 https://blog.csdn.net/wxyjuly/article/details/79443432 nobody 改为了 www /configure --user=www --g ...

  4. opencart3调用三级菜单level 3 sub categories

    Opencart 3的menu菜单默认只调用一级和二级菜单,但很多电商网站类目复杂,三级菜单一般都是需要的,甚至更深,那么如何调用三级菜单level 3 sub categories呢?ytkah有一 ...

  5. centos修改时区并同步时间

    查看服务器时间及所在时区 [root@localhost ~]# date -R Fri, 07 Dec 2018 04:38:28 -0500 修改时区 先使用 tzselect 根据提示选择所在地 ...

  6. MATLAB程序控制语句

    Matlab中的程序控制语句包括条件控制(Conditional Control).循环(Loop Control).异常处理(Error Control)和程序返回(Program Terminat ...

  7. Cocos Creator 动态设置Canvas的宽度与高度,更改适配

    let c = this.node.getComponent(cc.Canvas);c.fitHeight = true;c.fitWidth = false; let h = 960 * cc.wi ...

  8. IdeaJ 常见插件安装, 常用配置,常用快捷键

    -- 系统是 Ubuntu 16.04 1, 插件: 2, 常见的设置: [1] 代码提示的修改: File --> settings --> Keymap --> MainMenu ...

  9. vue axios中文文档详解

    英文文档:https://github.com/axios/axios 参考:https://www.jb51.net/article/123485.htm

  10. dubbo搭建

    1.安装java : yum install java 2.下载Tomcat: wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.1 ...