您好,登錄后才能下訂單哦!
參考: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 的一致后,可用執行導入數據操作了,如下:
> 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,...]
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。