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

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. 007-chrome插件系列

    1.Axure RP Extension for Chrome 2.Charset 3.CLEAN crxMouse Gestures 4.Google 翻译 5.JSONView 6.restlet

  2. webpack(4)-管理输出

    设置 HtmlWebpackPlugin html-webpack-plugin:它会用新生成的 index.html文件,替换我们的原有文件 plugins: [ new HtmlWebpackPl ...

  3. 《linux就该这么学》第十一节课: 第九章,网卡绑定与sshd服务

    8.4.服务的访问控制列表 TCPwrappers是RHEL7中默认启用的流量监控程序,能够对服务做出允许或拒绝. TCPwrappers服务由两个文件控制:  /etc/hosts.allow    ...

  4. UGUI-Text——自适应

    Text组件上勾选Best Fit,当内容变多时,按原来大小装不下时,会总体缩放显示

  5. Java利用原始HttpURLConnection发送http请求数据小结

    1,在post请求下,写输出应该在读取之后,否则会抛出异常. 即操作OutputStream对象应该在InputStreamReader之前. 2.conn.getResponseCode()获取返回 ...

  6. RocketMQ基本概念

    RocketMQ基本概念 一.生产者 生产者发送业务系统产生的消息给broker.RocketMQ提供了多种发送方式:同步的.异步的.单向的. 1.1 生产者组 具有相同角色的生产者被分到一组.假如原 ...

  7. SQL kaggle learn : WHERE AND

    WHERE trip_start_timestamp Between '2017-01-01' And '2017-07-01' and trip_seconds > 0 and trip_mi ...

  8. cshtml razor

    禁止转换字符 @(Html.Raw(@item.conent)) 三目运算 @(ViewBag.submitType==1?"blue":"")

  9. 信步漫谈之Jenkins—集成自动化部署 SVN 项目

    一.环境准备 1)Jenkins 部署 WAR 包:jenkins.war(2.164.2 版本,WAR 包官方下载路径:https://jenkins.io/download/)2)Tomcat 服 ...

  10. MySQL 压缩文件安装遇到的问题及解决方案

    第一步:从官网下载压缩文件(链接). 第二步:解压该文件,放置到想放到的位置.我的目录是在 C:\mysql\mysql-8.0.12-winx64 下. 第三步:在C:\mysql\mysql-8. ...