如何使用文本文件创建 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
语句吗?还有另外两个非常可行的选择(可能有点开箱即用):
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);
mysqlimport
:如果您有权访问 MySql shell,您可以使用它来将物理 CSV 导入数据库。参见 the MySQL manual or this post from a random google click
我有一个如下所示的文本文件:
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
语句吗?还有另外两个非常可行的选择(可能有点开箱即用):
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);
mysqlimport
:如果您有权访问 MySql shell,您可以使用它来将物理 CSV 导入数据库。参见 the MySQL manual or this post from a random google click