• 导入数据到mysql的一种简单的方法


    由于ubuntu默认自带的mysql版本号为5.5,并不能使用load data infile这样的高级的功能,因此我们写了一个通用的脚本来上传文件


    shell脚本

    cat ./employee.csv | while read LINE                                                                             
    do                                                                                                               
            eval $( echo $LINE | awk -F ',' '{print "ds="$1 ";id="$2 ";name="$3}' )                                  
            echo ds=$ds id=$id name=$name                                                                            
            mysql -uroot -p655453 test --default-character-set=utf8 -e  "replace into wechat_employee values('$ds','$id','$name')"
    done   


    要导入数据到Mysql最重要的一点就是要三码合一,即client和server的编码还有表的编码要一致,server的编码能够在/etc/mysql找一下配置文件改动,客户端的编码在insert之前能够设置一下,能够忽略


    show variables like '%char%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+

    查看表的编码。不是utf8的话要改动

    mysql> show create table wechat_employee;
    +-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table           | Create Table                                                                                                                                                                             |
    +-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | wechat_employee | CREATE TABLE `wechat_employee` (
      `ds` varchar(20) DEFAULT NULL,
      `femployeeid` int(20) DEFAULT NULL,
      `femployeename` varchar(256) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    接着导入,大功告成

  • 相关阅读:
    Selenium实战(七)——自动发送邮件
    Selenium实战(六)——数据驱动应用
    Selenium实战(四)——unittest单元测试3(测试用例的执行顺序)
    Selenium实战(四)——unittest单元测试2(断言方法+discover()多测试用例的执行)
    运维工具
    实用的shell脚本面试题和答案
    mssql2000 数据库一致性错误修复
    c#基础
    任务表 步骤表
    BPM事件
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6909102.html
Copyright © 2020-2023  润新知