您好,登錄后才能下訂單哦!
參考:http://blog.csdn.net/jayxujia123/article/details/13684313
參考:http://kevin850115.iteye.com/blog/578142
MySQL官網(wǎng):http://dev.mysql.com/doc/refman/5.7/en/load-data.html
學(xué)弟有個(gè)面試題,在群里問(wèn)了下如何將excel文件導(dǎo)入到數(shù)據(jù)庫(kù)。以前也沒(méi)試過(guò),正好在學(xué)習(xí)MySQL,練練手吧。
首先,將excel文件另存為用逗號(hào)分隔的csv文件,傳到linux服務(wù)器上,假設(shè)叫做test.csv。
用sed命令將第一行的列名稱去掉sed -i '1p' test.csv
然后建庫(kù)建表的命令的就得手工進(jìn)行了,根據(jù)具體的表結(jié)構(gòu),大致命令如下:
> 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;
(隨便測(cè)試的,因此字段類型選擇有點(diǎn)隨意,請(qǐng)大家無(wú)視)
> desc tb1;
確保表結(jié)構(gòu)和我們的原始EXCEL 的一致后,可用執(zhí)行導(dǎo)入數(shù)據(jù)操作了,如下:
> load data local infile '/root/test.csv' into table tb1 fields
terminated by ','
optionally enclosed by '"'
escaped by '"'
lines terminated by '\r\n';
參數(shù)說(shuō)明:
terminated by 跟的是字段間的分隔符。
optionally enclosed by '"' 的意思就是無(wú)視這些個(gè)雙引號(hào)
escaped by 字符轉(zhuǎn)義,默認(rèn)的是反斜杠(backslash:\ )
lines terminated by '\r\n'; 換行標(biāo)志。windows下的換行是\r\n
官網(wǎng)更詳細(xì)的格式如下:
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,...]
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。