zoukankan      html  css  js  c++  java
  • MySQL中导入 导出CSV

    来自:http://blog.csdn.net/sara_yhl/article/details/6850107

    导出

    select * from test_info   
    into outfile '/tmp/test.csv'   
    fields terminated by ',' optionally enclosed by '"' escaped by '"'   
    lines terminated by '
    '; 

    导入

    load data infile '/tmp/test.csv'   
    into table test_info    
    fields terminated by ','  optionally enclosed by '"' escaped by '"'   
    lines terminated by '
    ';   

    其中关键参数是

    fields terminated by ',' optionally enclosed by '"' escaped by '"'   
    lines terminated by '
    ' 

    这个参数是根据RFC4180文档设置的,该文档全称Common Format and MIME Type for Comma-Separated Values (CSV) Files,其中详细描述了CSV格式,其要点包括:

    (1)字段之间以逗号分隔,数据行之间以 分隔;

    (2)字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。

    shell 例子

    #!/bin/sh  
      
    . /opt/shtools/commons/mysql.sh  
      
    # MYSQL_CSV_FORMAT="fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '
    '"  
    echo "MYSQL_CSV_FORMAT=$MYSQL_CSV_FORMAT"  
      
    rm /tmp/test.csv  
      
    mysql -p --default-character-set=gbk -t --verbose test <<EOF  
      
    use test;  
      
    create table if not exists test_info (  
        id  integer not null,  
        content varchar(64) not null,  
        primary key (id)  
    );  
      
    delete from test_info;  
      
    insert into test_info values (2010, 'hello, line  
    suped  
    seped  
    "  
    end'  
    );  
      
    select * from test_info;  
      
    -- select * from test_info into outfile '/tmp/test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '
    ';  
    select * from test_info into outfile '/tmp/test.csv' $MYSQL_CSV_FORMAT;  
      
    delete from test_info;  
      
    -- load data infile '/tmp/test.csv' into table test_info fields terminated by ','  optionally enclosed by '"' escaped by '"' lines terminated by '
    ';  
    load data infile '/tmp/test.csv' into table test_info $MYSQL_CSV_FORMAT;  
      
    select * from test_info;  
      
      
    EOF  
      
    echo "===== content in /tmp/test.csv ====="  
    cat /tmp/test.csv  
  • 相关阅读:
    安全加固3-加固
    Centos7 64位 -- glibc-2.29 编译升级方法(已成功)
    Centos7 -- glibc 升级失败、意外删除、故意删除后的处理方法
    系统引导修复,grub2下的各种骚作
    linux 升级 5.0.2内核
    kvm虚拟化二: 字符界面管理及 无人值守安装
    kvm虚拟化一: 图形化的管理方式
    Linux rhel7 无线网络配置
    虚拟化简介
    requests模块使用二
  • 原文地址:https://www.cnblogs.com/balaamwe/p/4139904.html
Copyright © 2011-2022 走看看