将带有 : 分隔符的文件导入 MySQL 数据库
Import file with : separators into MySQL database
我有多个 TXT
文件包含以下格式的列:
id:category:topic:date
他们都排成一排。即
1:category:topic:date
2:category:topic:date
3:category:topic:date
是否可以将此文件 import
放入我的 MySQL
数据库中?
使用 PHPMyAdmin
在导入选项卡上,您可以上传 CSV 文件。上传您的文件,select 格式 'CSV',并设置:
- 列分隔:
:
- 包含的列:(空)
与PHP
您可以编写一个 PHP 小程序来做到这一点。首先,读入文件:
$fh = fopen('the-file.txt', 'r');
现在,$fh
是读取-file.txt 的处理程序。现在我们可以使用 fgetcsv()
:
while (($data = fgetcsv($fh, 1000, ':', '')) !== false) {
// insert data in database
}
$data
是记录中所有数据的数组。
带有 PDO 和准备好的语句的示例:
// prepare the statement to insert a new record
$stmt = $pdo->prepare("INSERT INTO `some_table` (`id`, `category`, `topic`, `date`) VALUES (?, ?, ?, ?)");
// read the file
$fh = fopen('the-file.txt', 'r');
while (($data = fgetcsv($fh, 1000, ':', '')) !== false) {
$stmt->execute($data);
}
这假设列名是 'id'、'category'、'topic' 和 'date'。
数字1000
是行的最大长度。您可以将它设置为 0,表示没有最大长度,但这会稍微慢一些。有关详细信息,请参阅 docs。
我有多个 TXT
文件包含以下格式的列:
id:category:topic:date
他们都排成一排。即
1:category:topic:date
2:category:topic:date
3:category:topic:date
是否可以将此文件 import
放入我的 MySQL
数据库中?
使用 PHPMyAdmin
在导入选项卡上,您可以上传 CSV 文件。上传您的文件,select 格式 'CSV',并设置:
- 列分隔:
:
- 包含的列:(空)
与PHP
您可以编写一个 PHP 小程序来做到这一点。首先,读入文件:
$fh = fopen('the-file.txt', 'r');
现在,$fh
是读取-file.txt 的处理程序。现在我们可以使用 fgetcsv()
:
while (($data = fgetcsv($fh, 1000, ':', '')) !== false) {
// insert data in database
}
$data
是记录中所有数据的数组。
带有 PDO 和准备好的语句的示例:
// prepare the statement to insert a new record
$stmt = $pdo->prepare("INSERT INTO `some_table` (`id`, `category`, `topic`, `date`) VALUES (?, ?, ?, ?)");
// read the file
$fh = fopen('the-file.txt', 'r');
while (($data = fgetcsv($fh, 1000, ':', '')) !== false) {
$stmt->execute($data);
}
这假设列名是 'id'、'category'、'topic' 和 'date'。
数字1000
是行的最大长度。您可以将它设置为 0,表示没有最大长度,但这会稍微慢一些。有关详细信息,请参阅 docs。