Mysql
 sql >> база данни >  >> RDS >> Mysql

Прочетете текстов файл и прехвърлете съдържанието в mysql база данни

Това, което може да търсите, е вградената функция на MySQL LOAD DATA INFILE за зареждане на текстов файл, съдържащ стойности за база данни в база данни.

Пример:

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

Можете също така да посочите разделителите във вашия текстов файл, както следва:

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

Актуализация:

Ето един напълно работещ пример, качих файл с тестови данни тук и ето моят 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());
}

Ето как изглеждаше таблицата преди да стартирам моя PHP код:

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

А ето и резултата след:

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. Как да конвертирате тип колона varchar в тип дата, без да губите датите

  2. PHP как да запазите HTML низ в база данни

  3. MySql разлика между две времеви марки в секунди?

  4. Каква функция да използвате за хеширане на пароли в MySQL?

  5. Подредете по последните 3 знака