我想将文本文件数据插入到我的表格列中。为此,我正在使用以下代码。
INSERT INTO uncompress
(stamp, what) VALUES
(NOW(), LOAD_FILE('D:/test.txt'));
但它在“什么”列中插入空数据。请帮我。提前致谢
我想将文本文件数据插入到我的表格列中。为此,我正在使用以下代码。
INSERT INTO uncompress
(stamp, what) VALUES
(NOW(), LOAD_FILE('D:/test.txt'));
但它在“什么”列中插入空数据。请帮我。提前致谢
MySQL LOAD_FILE() 读取文件并将文件内容作为字符串返回。
要使用此功能,文件必须位于主机服务器上,用户必须指定文件的完整路径名,并且用户必须具有 FILE 权限。该文件必须是可读的,并且大小必须小于 max_allowed_packet(在 my.ini 文件中设置)字节。
如果文件不存在或无法读取,则返回 NULL。
you are looking for load data infile
http://dev.mysql.com/doc/refman/5.1/en/load-data.html
example:
CREATE TABLE `mytable` (
`Account` VARCHAR(255) NOT NULL,
`Month` DATE NOT NULL,
`Device` VARCHAR(255) NOT NULL,
`Campaign` VARCHAR(128) NOT NULL,
`Keyword` VARCHAR(255) NOT NULL,
`Customer_ID` VARCHAR(255) NOT NULL,
`Keyword_state` VARCHAR(255) NOT NULL,
`Match type` VARCHAR(255) NOT NULL,
`Max_CPC` DECIMAL(10,5) NOT NULL,
`Clicks` INT(11) NOT NULL,
`Impressions` INT(11) NOT NULL,
`CTR` VARCHAR(255) NOT NULL,
`avg_CPC` DECIMAL(10,5) NOT NULL,
`avg_CPM` VARCHAR(255) NOT NULL,
`Cost` VARCHAR(255) NOT NULL,
`avg_Pos` DECIMAL(10,5) NOT NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
LOAD DATA LOW_PRIORITY LOCAL INFILE
'C:\\Users\\Adr\\Desktop\\Keyword performance report.csv'
REPLACE INTO TABLE `mydatabase`.`mytable`
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(`Account`, `Month`, `Device`, `Campaign`, `Keyword`, `Customer_ID`, `Keyword_state`, `Match type`, `Max_CPC`, `Clicks`, `Impressions`, `CTR`, `avg_CPC`, `avg_CPM`, `Cost`, `avg_Pos`);
/* 133,999 rows imported in 5.078 seconds. */