zoukankan      html  css  js  c++  java
  • select into outfile

    语法格式如下:
    SELECT [列名] FROM table [WHERE 语句]
            INTO OUTFILE '目标文件' [OPTION];
     
    FIELDS TERMINATED BY '字符串':设置字符串为字段之间的分隔符,可以为单个或多个字符。默认值是“ ”。
    FIELDS ENCLOSED BY '字符':设置字符来括住字段的值,只能为单个字符。默认情况下不使用任何符号。
    FIELDS OPTIONALLY ENCLOSED BY '字符':设置字符来括住CHAR、VARCHAR和TEXT等字符型字段。默认情况下不使用任何符号。
    FIELDS ESCAPED BY '字符':设置转义字符,只能为单个字符。默认值为“”。
    LINES STARTING BY '字符串':设置每行数据开头的字符,可以为单个或多个字符。默认情况下不使用任何字符。
    LINES TERMINATED BY '字符串':设置每行数据结尾的字符,可以为单个或多个字符。默认值是“ ”。windows的换行号是' '。
    FIELDS和LINES两个子句都是自选的,但是如果两个子句都被指定了,FIELDS必须位于LINES的前面。
     
     
    实例:
     
     
    SELECT * FROM  employee INTO OUTFILE '/tmp/file1.csv'
        FIELDS
            TERMINATED BY ','
            OPTIONALLY ENCLOSED BY '"'
        LINES
            STARTING BY '';
    FIELDS必须位于LINES的前面,多个FIELDS子句排列在一起时,后面的FIELDS必须省略;同样,多个LINES子句排列在一起时,后面的LINES也必须省略。
     
     
     
    如果在employee表中包含了中文字符,使用上面的语句则会输出乱码。此时,加入CHARACTER SET utf8语句即可解决这一个问题。修改SQL代码如下:
     
    SELECT * FROM  employee INTO OUTFILE '/tmp/file2.csv'
        CHARACTER SET utf8
        FIELDS
            TERMINATED BY ','
            OPTIONALLY ENCLOSED BY '"'
        LINES
            STARTING BY '' ;
     
     
    使用 SELECT into outfile导出数据的时候出现错误:
    The MySQL server is running with the --secure-file-priv option so it cannot execute this statement    
     
    show variables like '%secure%';
    查看 secure-file-priv 参数。
    导出的数据必须是这个值的指定路径才可以导出,默认有可能是NULL就代表禁止导出,所以需要设置一下.
    secure-file-priv 参数是静态修改的,修改此值必须重启数据库。
  • 相关阅读:
    同步和异步有何异同?在什么情况下分别使用他们?举例说明
    Java检查异常和非检查异常,运行时异常和非运行时异常的区别
    运行时异常与受检异常有何异同、error和exception有什么区别
    sleep() 和 wait() 有什么区别?
    final, finally, finalize的区别
    HashMap和Hashtable的区别
    & 和 && 的区别
    List集合复制
    Visual Studio 2015 Tools for Unity安装
    发布Android程序
  • 原文地址:https://www.cnblogs.com/liang545621/p/7518247.html
Copyright © 2011-2022 走看看