作者:大伙没事偷着乐吧 | 来源:互联网 | 2024-12-12 15:01
本文目录一览:1、如何将一张500M的csv格式的表格快速导入到mysql中2、如何把csv文件批量导入到mysql数据库3、如何将.csv文件导入MySql数据库中4
本文目录一览:
1、如何将一张500M的csv格式的表格快速导入到mysql中
2、如何把csv文件批量导入到mysql数据库
3、如何将.csv文件导入MySql数据库中
4、几个CSV大文件如何导入mysql数据库,并更新替换对应数据?
5、如何把csv文件导入mysql
如何将一张500M的csv格式的表格快速导入到mysql中
由于工作需要,经常需要将mysql数据库中的数据导出到excel表格,或者需要将excel表格数据导入到mysql数据库,我的方法是先将它们都转换成一种中间数据格式csv(execl数据可以直接导出为csv格式,csv格式也可以直接用excel打开)。下面介绍一下操作步骤:
csv导入mysql
load
data
infile
'c:\\users\\username\\desktop\\test.csv'
into
table
`table`
fields
terminated
by
','
optionally
enclosed
by
'"'
escaped
by
'"'
lines
terminated
by
'\n';
mysql导入csv
select
*
from
`table`
load
data
infile
'c:\\users\\username\\desktop\\test.csv'
fields
terminated
by
','
optionally
enclosed
by
'"'
escaped
by
'"'
lines
terminated
by
'\n';
如果乱码,可用相关编辑器打开.csv文件,另存为utf-8的csv
如何把csv文件批量导入到mysql数据库
通过命令行导入(要求列与列之间以 英文逗号 分割,若字段中含有 , 则以 " 包裹)
load data infile 'D:/mysql-5.7.29-winx64/files/ratings_5.csv' into table ratings fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
踩坑一:文件路径用 \ 分割会报错,用 / 可(用 \\ 应该也可)
踩坑二:load data 命令报错
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
在 my.ini 中加入(空字符串代表允许从一切目录导入)
[mysqld]
secure-file-priv=''
然后再 Windows 的服务中重新启动 mysql
踩坑三:csv 文件中第一行是诸如 userId 这样的列名
如果你的 csv 文件不大,直接使用 notepad++ 打开后删除第一行即可
但在我们这里,千万级别的文件 notepad++ 无法打开,这时可以考虑两种方法
1. 将 csv 文件传入 Linux 服务器删去第一行
由于不知道如何在 Win 10 中做这个操作,只能通过 Linux 中转执行
sed -i '1d' ratings.csv
检验是否成功,可以打印出第一行观察
cat ratings.csv | head -n 1
2. 通过工具把大的 csv 分成多个 notepad 能够打开的较小文件,对第一个文件删除第一行并依次导入
工具:splitcsv
亲测 5000000 条数据的 csv 文件可以在 notepad++ 中打开(只能同时打开 3 个)
这个工具还有个小坑:ratings_0.csv 的最后一行和 ratings_1.csv 的第一行是重复的,请手动删除
如何将.csv文件导入MySql数据库中
1、LOAD DATA通过读取本地文件系统上的文件,可以将大量数据添加到数据库中。
mysql USE db1;
mysql LOAD DATA INFILE ‘datafile.txt’ INTO TABLE db2.table_name;
2、mysqlimport命令直接从文件读取批量数据。它相当于LOAD DATA语句的一个接口。
mysqlimport根据文件名导入表名,即将文件名第一个圆点前的所有字符作为表名。例如,文件class.txt被装入class表中。
mysqlimport -L -uroot -proot db01 table_name.txt;
3、假如你原来表为T1表,数据导入到了T2表。可以用
insert into T1 select * from T2;
几个CSV大文件如何导入mysql数据库,并更新替换对应数据?
数据太大,用数据库客户端软件直接导入非常卡,还是直接执行SQL吧。
1、指定文件路径。
2、字段之间以逗号分隔,数据行之间以\r\n分隔(我这里文件是以\n分隔的)。
3、字符串以半角双引号包围,字符串本身的双引号用两个双引号表示。
Sql代码
代码如下:
load data infile 'D:\\top-1m.csv'
into table `site`
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
顺带也备份个导出吧。
Sql代码
代码如下:
select * from `site`
into outfile 'D:\\top-1m.csv'
fields terminated by ',' optionally enclosed by '"' escaped by '"'
lines terminated by '\n';
如何把csv文件导入mysql
mysql导入csv文件,用到的工具phpmyadmin,步骤如下:
登录phpmyadmin(以本地localhost/phpmyadmin为示例),输入数据库账号和密码进行登录。
2.登录以后选择具体的数据库,以test为示例导入csv文件,选中test数据库,选择导入,然后选择格式为csv,其它选项默认,选择好文件点击执行。
注意事项:mysql导出sql文件兼容性比较好。