将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,如需转载请自行联系原作者
目录
相关文章
|
7天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
37 4
|
2月前
|
JavaScript 前端开发 数据处理
Vue导出el-table表格为Excel文件的两种方式
Vue导出el-table表格为Excel文件的两种方式
|
2月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
36 2
|
2月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
2月前
|
SQL 存储 关系型数据库
SQL文件导入MySQL数据库的详细指南
数据库中的数据转移是一项常规任务,无论是在数据迁移过程中,还是在数据备份、还原场景中,导入导出SQL文件显得尤为重要。特别是在使用MySQL数据库时,如何将SQL文件导入数据库是一项基本技能。本文将详细介绍如何将SQL文件导入MySQL数据库,并提供一个清晰、完整的步骤指南。这篇文章的内容字数大约在
233 1
|
2月前
|
前端开发 JavaScript API
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
前端基于XLSX实现数据导出到Excel表格,以及提示“文件已经被损坏,无法打开”的解决方法
151 0
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,
|
19天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
34 1
|
22天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
36 4