如何使用文本文件创建 SQL table 条目?

How to use textfile to create SQL table entries?

我有一个如下所示的文本文件:

WPG GRIFFON, WIREHAIRED 
AFG HOUND, AFGHAN 
IBI HOUND, IBIZAN 
WOF HOUND, IRISH WOLF 
OTT HOUND, OTTER 
PHA HOUND, PHAROAH 
DER HOUND, SCOTTISH DEER 
JIN JINDO 
...

我正在尝试重写这行代码,使其显示狗的名字

$link = mysqli_connect($servername, $username, $password, $db) or die(mysqli_error($link));

mysqli_query($link, "CREATE TABLE IF NOT EXISTS `description` (`descID` int(10) NOT NULL AUTO_INCREMENT, `desc` text NOT NULL, PRIMARY KEY (`descID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;");

mysqli_query($link, "INSERT INTO description (descID, desc) VALUES(1, 'description 1'),(2, 'description 2'),(3, 'description 3'),(4, 'description 4');");

但是,我总是报错,导致网页崩溃,因为我无法读取和保存文件。

$handle = @fopen("names.txt", "r");
while (!feof($handle)) // Loop til end of file.
{
$buffer = fgets($handle, 4096);

$sql = "INSERT INTO data_table ...."  
mysql_query($sql,$conn) or die(mysql_error());
}

需要使用INSERT语句吗?还有另外两个非常可行的选择(可能有点开箱即用):

  1. LOAD DATA:SQL 将预构建的 CSV 数据加载到 table。参见 the MySQL manual and this SO thread

示例用法(来自链接的 SO 线程):

LOAD DATA INFILE 'path/file.csv'
INTO TABLE tbl_name 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
(column1, column2, column3);
  1. mysqlimport:如果您有权访问 MySql shell,您可以使用它来将物理 CSV 导入数据库。参见 the MySQL manual or this post from a random google click