将excel文件导入到数据库

简介:

参考:http://blog.csdn.net/jayxujia123/article/details/13684313

参考:http://kevin850115.iteye.com/blog/578142

MySQL官网:http://dev.mysql.com/doc/refman/5.7/en/load-data.html


学弟有个面试题,在群里问了下如何将excel文件导入到数据库。以前也没试过,正好在学习MySQL,练练手吧。


首先,将excel文件另存为用逗号分隔的csv文件,传到linux服务器上,假设叫做test.csv。


用sed命令将第一行的列名称去掉sed -i '1p' test.csv 


然后建库建表的命令的就得手工进行了,根据具体的表结构,大致命令如下:

> CREATE DATABASE `demo`;

> USE demo;

> CREATE TABLE `tb1` (

  `id` int(4) NOT NULL PRIMARY KEY ,

  `Name` char(10) DEFAULT NULL,

  `Age` smallint(3) DEFAULT NULL,

  `Sex` varchar(10) DEFAULT NULL,

  `Mobile` bigint(15) DEFAULT NULL,

  `Touzijingli` varchar(10) DEFAULT NULL,

  `Job` varchar(10) DEFAULT NULL,

  `Uname` varchar(10) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;


(随便测试的,因此字段类型选择有点随意,请大家无视)


> desc tb1;

wKiom1eDJIrzMV3rAAA0vpUTt60406.png


确保表结构和我们的原始EXCEL 的一致后,可用执行导入数据操作了,如下:

load data local infile '/root/test.csv' into table tb1 fields

  terminated by ','

  optionally enclosed by '"'

  escaped by '"' 

  lines terminated by '\r\n';


参数说明:

terminated by 跟的是字段间的分隔符。 

optionally enclosed by   '"' 的意思就是无视这些个双引号

escaped by 字符转义,默认的是反斜杠(backslash:\ )  

lines terminated by '\r\n';   换行标志。windows下的换行是\r\n



官网更详细的格式如下:

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
   [REPLACE | IGNORE]
   INTO TABLE tbl_name
   [PARTITION (partition_name,...)]
   [CHARACTER SET charset_name]
   [{FIELDS | COLUMNS}
       [TERMINATED BY 'string']
       [[OPTIONALLY] ENCLOSED BY 'char']
       [ESCAPED BY 'char']
   ]
   [LINES
       [STARTING BY 'string']
       [TERMINATED BY 'string']
   ]
   [IGNORE number {LINES | ROWS}]
   [(col_name_or_user_var,...)]
   [SET col_name = expr,...]











本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1825297,如需转载请自行联系原作者
目录
相关文章
|
23天前
|
监控 关系型数据库 数据库
OceanBase数据库常见问题之文件存在但是数据库提示文件不存在如何解决
OceanBase 是一款由阿里巴巴集团研发的企业级分布式关系型数据库,它具有高可用、高性能、可水平扩展等特点。以下是OceanBase 数据库使用过程中可能遇到的一些常见问题及其解答的汇总,以帮助用户更好地理解和使用这款数据库产品。
|
26天前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
21 1
|
29天前
|
安全 Java 数据库连接
jdbc解析excel文件,批量插入数据至库中
jdbc解析excel文件,批量插入数据至库中
20 0
|
30天前
|
XML 关系型数据库 MySQL
python将word(doc或docx)的内容导入mysql数据库
用python先把doc文件转换成docx文件(这一步也可以不要后续会说明),然后读取docx的文件并另存为htm格式的文件(上一步可以直接把doc文件另存为htm),python根据bs4获取p标签里的内容,如果段落中有图片则保存图片。(图片在word文档中的位置可以很好的还原到生成的数据库内容) 我见网上有把docx压缩后解压获取图片的,然后根据在根据xml来读取图片的位置,我觉得比较繁琐。用docx模块读取段落的时候还需要是不是判断段落中有分页等,然而转成htm之后就不用判断那么多直接判断段落里的样式或者图片等就可以了。
21 1
|
29天前
|
SQL Java 数据库连接
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
从来没想到我们会扒拉nohup文件去找我们想要的数据,然后往数据库中添加。。。...
17 0
|
1月前
|
SQL 关系型数据库 MySQL
|
1天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
10 0
|
2天前
|
存储 关系型数据库 MySQL
如何处理爬取到的数据,例如存储到数据库或文件中?
处理爬取的数据,可存储为txt、csv(适合表格数据)或json(适合结构化数据)文件。若需存储大量数据并执行复杂查询,可选择关系型(如MySQL)或非关系型(如MongoDB)数据库。以MySQL为例,需安装数据库和Python的pymysql库,创建数据库和表,然后编写Python代码进行数据操作。选择存储方式应考虑数据类型、数量及后续处理需求。
8 1
|
29天前
|
安全 Java 数据库连接
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
jdbc实现批量给多个表中更新数据(解析Excel表数据插入到数据库中)
153 0
|
29天前
|
SQL Java 数据库连接
springboot解析txt文件顺便加到数据库中(nohup文件)
springboot解析txt文件顺便加到数据库中(nohup文件)
108 1