Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przeczytaj plik tekstowy i przenieś zawartość do bazy mysql

Być może szukasz wbudowanej funkcji MySQL LOAD DATA INFILE aby załadować plik tekstowy zawierający wartości dla bazy danych do bazy danych.

Przykład:

LOAD DATA INFILE 'data.txt' INTO TABLE my_table;

Możesz także określić ograniczniki wewnątrz pliku tekstowego, na przykład:

LOAD DATA INFILE 'data.txt' INTO TABLE my_table FIELDS TERMINATED BY '|';

Aktualizacja:

Oto w pełni działający przykład, przesłałem plik danych testowych tutaj a oto mój kod PHP.

$string = file_get_contents("http://www.angelfire.com/ri2/DMX/data.txt", "r");
$myFile = "C:/path/to/myFile.txt";
$fh = fopen($myFile, 'w') or die("Could not open: " . mysql_error());
fwrite($fh, $string);
fclose($fh);

$sql = mysql_connect("localhost", "root", "password");
if (!$sql) {
    die("Could not connect: " . mysql_error());
}
mysql_select_db("my_database");
$result = mysql_query("LOAD DATA INFILE '$myFile'" .
                      " INTO TABLE test FIELDS TERMINATED BY '|'");
if (!$result) {
    die("Could not load. " . mysql_error());
}

Oto jak wyglądała tabela przed uruchomieniem mojego kodu PHP:

mysql> select * from test;
+--------+-----------+------------+
| DataID | Name      | DOB        |
+--------+-----------+------------+
|    145 | Joe Blogs | 17/03/1954 |
+--------+-----------+------------+
1 row in set (0.00 sec)

A oto wynik po:

mysql> select * from test;
+--------+-------------+------------+
| DataID | Name        | DOB        |
+--------+-------------+------------+
|    145 | Joe Blogs   | 17/03/1954 |
|    234 | Carl Jones  | 01/01/1925 |
|     98 | James Smith | 12/09/1998 |
|    234 | Paul Jones  | 19/07/1923 |
|    986 | Jim Smith   | 12/01/1976 |
+--------+-------------+------------+
5 rows in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Który jest szybszy:skorelowane podzapytania czy dołączanie?

  2. jak uzyskać różne wiersze o maksymalnej wartości

  3. Połącz wyniki dwóch niepowiązanych zapytań w jeden widok

  4. jak usunąć bazę danych

  5. Wypełnij Datagridview danymi MySQL