【Mysql】将 CSV文件快速导入 mysql 中 方法一:使用navicat等软件的导入向导如果出现中文乱码 方法二:命令行导入(LOAD DATA INFILE SQL) 一般来
使用 navicat、workbench 等软件中的导入向导手动导入;
使用 load data infile
命令导入
前者速度较慢,适合数据量比较小的时候,而对于大文件,我们需要使用命令行导入。
成功连接后如下图:
解决方案:
准备工作
假设你的 CSV 文件包含图书信息,分为 ISBN、Title、Author 和 ListPrice 字段。要创建这样一个表,你需要执行这样的命令。
CREATE TABLE BooksCSV ( ISBN VARCHAR(255) NULL, title VARCHAR(255) NULL, author VARCHAR(255) NULL, ListPrice VARCHAR(255) NULL);
两个建议:
建议所有的字段都接纳 NULL 值,并且表没有主键,因为事先并不知道 CSV 文件中的数据是否完整和规范。
即使是数字数据,也只使用 VARCHAR 字段,以防止文件中的数据格式不正确而导致处理错误。导入数据后,可以直接在数据库中进行清理,读取表的数,并进行必要的验证和修正。
show variables like '%secure%';
如果结果显示secure_file_priv=‘’,即空字符串,则无需改动;如果secure_file_priv=null,则需要在mysql的配置文件my.ini中添加如下行secure_file_priv=‘’,之后重启mysql服务。
show variables like 'local_infile';
如果结果是off,则改使用如下命令改为on
set global local_infile=on;
使用如下命令导入文件。注意:文件路径不能有中文!!
load data local infile 'file_path' # 文件路径into table daily_price # 表名character set utf8 # 编码fields terminated by ',' # 分隔符lines terminated by '\r\n' # 换行符,windows下是\r\nignore 1 lines; # 忽略第一行,因为表头已建好
其他有关load data infile的细节可在此地址查询
https://www.mysqlzh.com/doc/126/255.html
来源地址:https://blog.csdn.net/weixin_43848614/article/details/129329392
--结束END--
本文标题: 【MySQL】将 CSV文件快速导入 MySQL 中
本文链接: https://www.lsjlt.com/news/411614.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0