可能重复:将
CSV 文件直接导入 MySQL
从 Mysql 导出 CSV
我想将系统上的 CSV 文件 (C:/xampp/htdocs/live/quotes.csv) 读取到我的 MySQL 表中。
我创建了这样的表:
mysql_query("CREATE TABLE IF NOT EXISTS datas(
id int(255) NOT NULL auto_increment,
symbol_t char(6) NOT NULL,
last_trade_price_only_t varchar(100) NOT NULL,
a varchar(30) NOT NULL,
b varchar(30) NOT NULL,
c varchar(30) NOT NULL,
d varchar(30) NOT NULL,
e varchar(30) NOT NULL,
PRIMARY KEY (id)
)");
现在想像这样在表中写入 CSV:
$location="C:/xampp/htdocs/live/quotes.csv";
$sql = "LOAD DATA LOCAL INFILE '{$location}'
INTO TABLE '{datas}'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\n'
('symbol_t', 'last_trade_price_only_t','a','b','c','d','e')";
mysql_query($sql);
但不知何故它不起作用。我是不是把位置设置错了?
我还有另一个问题。如果我想使用 url 获取外部 csv(yahoo 财务 csv):http: //finance.yahoo.com/d/quotes.csv? s= $ticker_url&f=sl1=.csv ($ticker_url 是股票代码的集合符号)。我的 $location var 必须只有 url,还是我必须先用 fopen(url) 打开它?
现在:
$data_tablename="data_".date("m_d_Y",time());
$filename="C:\\xampp\\htdocs\\live\\quotes.csv";
$sql = "LOAD DATA LOCAL INFILE '{$filename}'
INTO TABLE '{$data_tablename}'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY '\r\n'
('symbol_t', 'last_trade_price_only_t','a','b','c','d','e')";