簡體   English   中英

PHP-上傳CSV文件並導入到不存在表的數據庫

[英]PHP - Upload CSV file and import to database, where table doesnt exist

我需要創建一個PHP文件,該文件將包含一個包含大量數據的文本文件,並將其導入到MySQL數據庫中。

我知道我可以通過打開文件,解析文件以及每行使用單獨的命令插入數據來做到這一點。

但是我想知道,如果不首先存在MySQL表,是否有辦法做到這一點。

我正在嘗試使流程盡可能自動化,以消除時間和潛在的人為錯誤。

因此,可以在PHP中指定一個文本文件(它是CSV文件,但數據用'|'代替,用逗號分隔),並讓PHP腳本首先創建MySQL表,然后導入完整數據文件到那個表?

文本文件的第一行將始終包含列名。

我知道我可以通過打開文件,使用第一行,使用該行來創建表,然后返回並再次遍歷文件,一次插入一行數據來做到這一點-但我想知道是否存在比這更快捷,更有效的文件處理方式!

文件確實很大,因此該方法需要盡可能高效,並且我覺得可能存在一個我不知道的命令?

http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html

喜歡

mysqlimport  --ignore-lines=1 --fields-terminated-by=,
--columns='ID,foo,bar' --local -u root -p
Database /path/to/csvfile/TableName.csv 

對於創建實際表,您應該只在導入數據之前使用查詢。 通過查詢,您可以指定創建表,列和數據類型等的任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM