zoukankan      html  css  js  c++  java
  • mysql中数据导出成excel文件语句

    代码如下 复制代码

    mysql>select * from xi_table into outfile ’d:test.xls’;

    导出为txt文件:

     代码如下 复制代码

    select * from xi_table into outfile ’d:test.txt’;


    默认使用tab分割字段,记录使用n分割。可以自定义三个参数。

     代码如下 复制代码

    SELECT * FROMhx_9enjoy INTO OUTFILE '/tmp/9enjoy_hx.txt' FIELDS TERMINATED BY ',' OPTIONALLYENCLOSED BY '"' LINES TERMINATED BY 'n';

    即使用,分割字段,双引号限定字段内容,n分割记录。

    还可以指定某些条件的记录输出:

     代码如下 复制代码

    SELECT * FROMhx_9enjoy WHERE id < 100 INTO OUTFILE '/tmp/9enjoy_100.txt'

    如果打开时excel中出现乱码我们可以导出时设置编码为gb2312 在服务器端使用iconv来进行编码转换:

     代码如下 复制代码

    iconv -futf8 -tgb2312 -otest2.xls test.xls


    如果linux中可能会碰到mysql into outfile ERROR : Can't create/write to file  错误,这种问题就是权限的问题了

    解决办法

     代码如下 复制代码
    sudo vi /etc/apparmor.d/usr.sbin.mysqld

    在里面添加/data的可写目录,如下:

     代码如下 复制代码
    ...
    /usr/sbin/mysqld {
        ...
        /var/log/mysql/ r,
        /var/log/mysql/* rw,
        /var/run/mysqld/mysqld.pid w,
        /var/run/mysqld/mysqld.sock w,
        /data/* rw,
    }

    然后重新载入:

     代码如下 复制代码
    sudo /etc/init.d/apparmor reload/restart

    还需要重启mysql,否则会出些莫名其妙的错误,如:
    ERROR 1286 (42000) at line 1: Unknown table engine 'InnoDB'


    重启mysql:

     代码如下 复制代码

     sudo service mysql stop
     sudo service mysql start

  • 相关阅读:
    C++ 动态多维数组的申请与释放
    OpenCV视频的读写
    Python 函数的参数传递
    Python 赋值、浅拷贝和深拷贝
    操作系统学习笔记(七) 死锁
    操作系统学习笔记(六) 文件系统
    浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景
    heap与stack的区别
    深入学习golang中new与make区别
    Linux CentOS 7 安装confluence 5.8.10
  • 原文地址:https://www.cnblogs.com/grimm/p/5264394.html
Copyright © 2011-2022 走看看