温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

将excel文件导入到数据库

发布时间:2020-07-04 17:16:53 来源:网络 阅读:759 作者:我的二狗呢 栏目:数据库

参考: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;

将excel文件导入到数据库


确保表结构和我们的原始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,...]


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI