Mysql從外部文件導入數據

一般情況下,如果只有一條或者幾條數據插入表中,那麼我們會優先考慮使用insert into語句,但是如果是數十條甚至上千條,使用insert into語句會讓後你覺得很煩人而且比較容易出錯,Mysql提供了從外部文件導入數據的語句

load data [local] infile [path] [ignore|replace] into table table_name(col1,col2,...);

[local]可選,不加上表示是從服務器本地中加載文件。

[path]是字符串類型,用''括起來,它既可以是相對路徑也可以是絕對路徑。

[ignore|replace]表示遇到文件中的數據記錄跟已有的表記錄發生衝突時的策略,ignore表示忽略文件中的衝突數據,replace表示用文件中的衝突數據覆蓋表中的數據。

table_name可以不知道那幾個列,而默認是所有列。


一般會選擇txt作爲數據文件,此時需要注意,如果默認是所有列的話,必須在文件中給出所有列的取值,否則會拋出錯誤,列與列之間用空格或tab鍵隔開,行與行之間用回車換行。


創建一個pet表

CREATE TABLE `pet` (
  `name` char(30) default NULL,
  `owner` char(30) default NULL,
  `species` char(10) default NULL,
  `sex` enum('f','m') NOT NULL,
  `birth` date default NULL,
  `death` date default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

創建一個PET.txt文件

Fluffy	Harold	cat	f	1993-02-04
Slim	Benny	snake	m	1996-04-29
SQL語句

load data infile 'c:/PET.txt' replace into table pet(name,owner,species,sex,birth);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章