csv 导入数据库 转表

1、准备工作:建表、准备csv表数据

(1)建表:

CREATE TABLE `task_import`(
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `time` DATE DEFAULT NULL,
    `code` VARCHAR(60) DEFAULT NULL,
    `name` VARCHAR(80) DEFAULT NULL,
    PRIMARY KEY (`id`)
);

(2)准备csv表数据

aa.jpg

2、然后就是导入了

在这里,遇到了一个bug,用sqlyog直接导入会报错,然后把它的代码复制下来,

修改前:
load data local infile '路径\\task_import.csv' 
into table `tasks`.`task_import` 
fields escaped by '\\' terminated by ',' lines terminated by '\r\n' (`id`, `time`, `code`, `name`)
修改后:
LOAD DATA LOCAL INFILE '路径\\task_import.csv' 
INTO TABLE `task_import` CHARACTER SET gb2312
FIELDS ESCAPED BY '\\' TERMINATED BY ',' LINES TERMINATED BY '\r\n' (`id`, `time`, `code`, `name`)

找到的原因:因为字符集的问题,我的数据库默认了utf-8,所以导不进去,最后设置了字符集编码格式就好了

3、结果

bb.jpg

4、字符解释

摘取一下别人的:https://blog.csdn.net/lee18254290736/article/details/81011930

escaped by 分为两种情况,

(1)escaped by ','
(2)escaped by ' " '
一般 escaped by ',' 与 lines terminated by '\r\n' 有对应关系,如果用escaped by ' " ',即引号分隔,则只有将lines terminated by改成'\n'才能导入,并且此时不能ignore 1 lines.

terminated by 分隔符:意思是以什么字符作为分隔符
enclosed by 字段括起字符
escaped by 转义字符
terminated by 描述字段的分隔符,默认情况下是tab字符(\t)
enclosed by 描述的是字段的括起字符。
escaped by 描述的转义字符。默认的是反斜杠(backslash:\ )
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 8,045评论 5 115
  • 标签(空格分隔): mysql LOAD DATA INFILE语句用于高速地从一个文本文件中读取行,并写入一个表...
    ahcj_11阅读 33,419评论 0 8
  • 遇到烂人不计较,碰到破事别纠缠。先说说为什么不要和烂人计较?第一点,和烂人计较,十有九输。因为烂人是没有底线的,t...
    微末凡尘__阅读 282评论 0 0
  • 杨絮纷飞的日子》 学校西区后岗上长久蔓延的油菜花香气从这片土地上逐渐退去。 记得的消息来临之际的傍晚,我在教室里听...
    朝露铭阅读 401评论 0 0
  • 当暮色降临,人会越发体会到孤独;一个人走在马路上,看灯火阑珊,影子却显得格外孤独而寂寞;脸上的汗水也抵不过心中的寒...
    北冥_2419阅读 247评论 0 0

友情链接更多精彩内容