导入数据到mysql的一种简单的方法
2015-08-07 09:42
603 查看
因为ubuntu默认自带的mysql版本为5.5,并不能使用load data infile这种高级的功能,因此我们写了一个通用的脚本来上传文件
shell脚本
要导入数据到Mysql最重要的一点就是要三码合一,即client和server的编码还有表的编码要一致,server的编码可以在/etc/mysql找一下配置文件修改,客户端的编码在insert之前可以设置一下,可以忽略
查看表的编码,不是utf8的话要修改
接着导入,大功告成
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)
接着导入,大功告成
相关文章推荐
- mysql修改用户密码
- 创建mysql数据库
- mysql select语句
- mysql where语句
- mysql 排序修改删除
- mysql自我复制
- Mysql 二进制日志
- mysql range 分区
- MySQL数据库引擎详解
- mysql增删查改和alter
- Excel连接到MySQL,将Excel数据导入MySql,MySQL for Excel,,
- Excel连接到MySQL,将Excel数据导入MySql,MySQL for Excel,,
- MySql更新优化策略
- MySql删除和更新操作对性能有影响吗
- 数据库–Cobar分布式数据库集群MySQL中间件
- mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey
- MySQL5.5出面ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)问题的解决办法
- replace() MySQL批量替换指定字段字符串
- mysql函数大全
- mysql协议学习(五)--EOF报文