MySQL到CSV几种方法

数据的导出导入,最常用的方法:

导出:

SET NAMES "utf8"

select * from ricci_var into outfile‘/tmp/var.csv‘ fields terminated by ‘,‘ optionally enclosed by ‘"‘ lines terminated by ‘\n‘

导入:

SET NAMES "utf8"

load data infile "/tmp/var.csv"into table ricci_var fields terminated by ‘,‘ optionally enclosed by ‘"‘ lines terminated by ‘\n‘

在某些特殊的情况下,是无法这么操作的,如垃圾的RDS,就需要这么操作了:

导出:

usr/local/mysql/bin/mysql -h192.168.1.10 -udlan -proot123 test -e"
SELECT * FROM manufactor_user_info  where date(create_time)<=‘2017-05-02‘" -N -s |sed ‘s/\t/","/g;s/^/"/;s/$/"/;s/\n//g‘> /tmp/test.csv
导入:
 SET NAMES "utf8" 
load data infile ‘/tmp/test.csv‘ into table manufacturer_log fields terminated by ‘,‘ optionally enclosed by ‘"‘ lines terminated by ‘\n‘
###具体的导出条件自己懂的。在导出的数据需要进行简单的清洗,有可能会碰到某某行的数据段数据错误或者定义错误这样的提示.Wrong data or column definition. Row: 69697, field: 43.
这样的提示主要是由于数据存在问题的需要清洗,从MYSQL导入infobright 会这样提示,可以设置  SET @BH_REJECT_FILE_PATH = ‘/tmp/reject_file‘;
SET @BH_ABORT_ON_COUNT = 10;(自定定义错误条数)
可以通过这个观察数据问题所在。
再者就是导出的时候,有权限问题,如:
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 
解决办法:  
    1. 设置安全目录: vi /etc/my.cnf  
    secure-file-priv=/home/自己的目录/  
    2. 有权限写入目录/home/自己的目录/ (5.7的需要设置)

再办法是:

mysqldump 导成SQL文件

最后办法:

导出:mysql -udlan -proot123 --database=test --execute=‘SELECT a, b FROM aaa LIMIT 0, 10000 ‘ -X > file.csv

导入:

SET NAMES "utf8"

load xml infile ‘/tmp/file.csv‘ into table user_info1

时间: 2024-08-06 02:28:38

MySQL到CSV几种方法的相关文章

将Excel数据导入mysql数据库的几种方法

将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面和大家分享一下: 一.用java来将Excel表格中的数据转到mysql中 这是我们用的第一种方法,就是在java找你感谢个类,然后这个类会将Excel表格中的数据存储到内存里,然后再从内存中读出来插入到数据库中,但是要 注意了,这里是存储到String[ ]数组里面,所以取出来的数据也是Strin

C++连接mysql数据库的两种方法

现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法.可以通过2种方法实现. 第一种方法是利用ADO连接, 第二种方法是利用mysql自己的api函数进行连接. 第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的

mysql 查看mysql版本的四种方法

1 命令行中使用status可以查看. mysql> status;--------------mysql  Ver 14.14 Distrib 5.5.25a, for Linux (x86_64) using readline 5.1 Connection id:          33348Current database:Current user:           [email protected]SSL:                    Not in useCurrent p

linux下查看mysql版本的四种方法

Linux查看MySQL版本的四种方法 1 在终端下执行 mysql -V 2 在help中查找 mysql --help |grep Distrib 3 在mysql 里查看 select version() 4 在mysql 里查看 status 原文地址:https://www.cnblogs.com/apolloren/p/9955158.html

mysql导出数据库几种方法

mysql教程导出数据库教程几种方法 方法一 cmd 到mysql bin目录下用 如下命令 mysqldump --opt -h192.168.0.156 -uusername -ppassword --skip-lock-tables databasename>database.sql 把ip改成localhost就可以的 如果装了navicate那就更简单了 先连接上数据库,选中数据库 再选择转储sql 就好了 方法二进入cmd (注意在os cmd中 而不是在mysql中) ======

mysql 不乱码五种方法

方法1: 登录mysql,先做set names latin1; 前提是你的创建的表是(ENGINE=MyISAM DEFAULT CHARSET=latin1)latin1字符集. 如果你的表是gbk,那就set names gbk; 这种方法是临时的,也就是你每次登录的时候都要set names latin1 下面的方法也要遵守这个前提 查看表是哪一种字符集的方法 mysql> show create table lvnian\G; *************************** 1

MySQL学习笔记(2) - 修改MySQL提示符的两种方法

学习于慕课网 http://www.imooc.com/video/1806 1.方法一: cmd中处于未登录状态时,输入 mysql -uroot -p自己的密码 --prompt 新的提示符 示例:mysql -uroot -p111111 --prompt \h 111111为自己的密码,\h指的是localhost 2.方法二: cmd中处于登录状态时,输入 prompt 新的提示符 示例: 3.提示符可以用的参数: 1)\D :完整的日期 2)\d :当前数据库 3)\h :当前主机名

修改mysql密码的四种方法

方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:mysql> set password for [email protected] = password('123'); 方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password

关闭MySQL数据库的几种方法

#1.使用mysqldadmin mysqladmin -uroot -p shutdown mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown # 2.使用自带的脚本 /etc/init.d/mysqld stop #3.使用kill kill -USR2cat /path/pid # PS:推荐使用前两个方法