首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PHP 快速將 CSV 文字檔匯入 MySQL 實作教學

     編輯:MySQL 資料庫相關知識

前置準備

將資料整理為每行一筆、欄位以逗號分隔的純文字檔(yourdate.txt):

aaa,bbb,ccc,ddd,eee
fff,ggg,hhh,iii,jjj,kkk

PHP 匯入腳本 loaddate.php

<?php
$hostname = "localhost";
$username = "yourname";
$password = "yourpwd";
$dbname   = "yourdb";

$conn = mysql_connect($hostname, $username, $password);
mysql_select_db($dbname, $conn);

$lines = file("yourdate.txt");
$count = count($lines);

for ($i = 0; $i < $count; $i++) {
    $fields = explode(",", $lines[$i]);
    // 假設目標表 ip 有 5 個欄位,請依實際結構調整
    $sql = "INSERT INTO ip VALUES ('"
         . implode("','", $fields) . "')";
    mysql_query($sql, $conn);
}

mysql_close($conn);
echo "ok!";
?>

關鍵點說明

  • file() 將整個檔案讀入陣列,每行為一元素。
  • explode() 依分隔符拆分欄位。
  • implode() 快速組合 VALUES 字串,避免手動索引錯誤。
  • 實務上建議改用 mysqli 或 PDO 預處理語句,防止 SQL 注入並提升效能。

進階替代方案

大量資料匯入時,優先考慮 MySQL 原生 LOAD DATA INFILE:

LOAD DATA INFILE 'yourdate.txt'
INTO TABLE ip
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

速度比 PHP 迴圈快數十倍,且無需撰寫程式碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved