MySQL 如何批量导入含有大量html的Csv,csv是一个产品表,包含1000条产品,每

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 如何批量导入含有大量html的Csv,csv是一个产品表,包含1000条产品,每相关的知识,希望对你有一定的参考价值。

mysql 如何批量导入含有大量html的Csv,csv是一个产品表,包含1000条产品,每一条有一个产品描述字段包含大量html内容,怎么批量导入?在csv里批量替换引号加转义不太现实

参考技术A 1.登录后台----system---Inport/Export先选择export,也就是先导出一个CSV格式的批量上传文件。如果网站里没有产品,需要先添加一个产品后才能导出一个批量上传用的CSV文件CSV文件可以使用EXCEL软件来编辑。2.导出选项说明在EXPORT里我们选择导出类型为Products,系统会自动刷新显示很多选项,这些不管,直接滚动浏览器到页面最底部,点击按钮导出。3.CSV文件说明在导出的CSV文件里,必填的几列如下:_media_attribute_id:产品属性ID,使用导出的CSV的默认值即可(必填);SKU:这个是必填而且全站必须唯一,不能有跟其他相同的,如果相同会覆盖掉(必填);_category:产品分类,如果产品属于一级的,则填写分类名称,比如分类名称为:Jewelry,那直接填写Jewelry即可,如果产品属于第二级的,则填写为:Jewelry/subcate(也就是把一级和二级的分类名称都填写进来,两个分类之间用斜杠分开)(必填);_root_category:默认值DefaultCategory,可不改动;Description:产品详细描述里的内容,支持填写HTML格式的(必填);Image:产品图片,产品图片必须都上传到Media/Import目录下(必填);_media_image:产品中图,可填写跟Image一样的图片路径(必填)small_image:产品小图,可填写跟Image一样的图片路径(必填);thumbnail:产品缩略图,可填写跟Image一样的图片路径(必填);name:产品名称(必填);price:产品价格(必填);special_price:产品特价(选填);status:产品状态,默认值1,如果不显示,就填写数字0(必填);short_description:产品简短描述(必填);visibility:产品是否显示的选项,默认值4(必填);weight:产品重量(必填);qty:产品数量(必填);is_in_stock:是否有库存,默认值1,如果产品没库存了,可填写为0(必填);meta_description:产品简短描述,用来显示在谷歌搜索结果那的一段文字(选填);meta_keyword:产品页面关键词(选填);meta_title:自定义网页标题,可与产品名称不同,谷歌优化使用,如果不填,默认使用产品名称做为标题(选填);其他列可按情况增加或删除。所有要批量上传的图片,都必须上传到FTP的www/media/import目录下,如果产品有分类为文件夹的,也都上传到import目录下4.那么在CSV里的填写路径是怎么样的?如果是直接图片的话,在CSV的IMAGE列里填写:/图片名称.jpg如果图片在某个文件夹下的,填写:/文件夹名称/图片名称.jpg注意文件夹名称不能有中文,有空格,最好是一个单词的。5.如何使用FTP软件上传图片到网站空间里?下载FTP软件—FlashFXP,安装完软件后,打开软件-------地址或URL里填写IP地址,输入FTP账户和密码,之后点击连接即可;然后把所有的本地电脑上的图片上传到/www/media/import/目录下;FTP软件的左边一般为本地电脑上的,右边为网站空间里的。

如何把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 的第一行是重复的,请手动删除
参考技术A 下载一个editplus或者notepad++ 用这种文本编辑器打开你的csv文件,添加上你要添加的记录,然后存储为utf8 的,然后再导入 参考技术B 如果是单表比较好操作
1 利用notepad 或者sublime 列选工具选中某一列
2.开始输入insert into table
3.这样慢慢拼接成一条多条sql语句 接着一次性插入就可以了。
方法二
下载mysql workbeach工具 建立一张表子段和csv字段对应上 ,然后直接贴入。
csv 字段间用逗号隔开 如
1,2,3,4,5,6,7
1,2,3,4,5,6,7

以上是关于MySQL 如何批量导入含有大量html的Csv,csv是一个产品表,包含1000条产品,每的主要内容,如果未能解决你的问题,请参考以下文章

csv批量导入mysql命令

Neo4j批量导入大量csv数据

csv批量导入mysql命令

如何将csv导入mysql和mysql导出csv

如何批量导入excel数据至数据库(MySql)--工具phpMyAdmin

如何在CSV导入(MariaDB / MySQL)上生成连锁主键?