Tôi có tệp CSV rất lớn (150 MB). Cách tốt nhất để nhập nó vào MySQL là gì? Tôi phải thực hiện một số thao tác trong PHP trước khi chèn nó vào bảng MySQL.Nhập tệp csv lớn vào cơ sở dữ liệu mysql bằng cách sử dụng php
Trả lời
Bạn có thể xem LOAD DATA INFILE trong MySQL.
Bạn có thể thực hiện thao tác sau khi dữ liệu được tải vào MySQL, thay vì đọc nó lần đầu tiên vào PHP. cửa hàng đầu tiên các dữ liệu thô trong một bảng tạm thời sử dụng LOAD DATA INFILE, sau đó chuyển dữ liệu vào bảng mục tiêu sử dụng một tuyên bố như sau:
INSERT INTO targettable (x, y, z)
SELECT foo(x), bar(y), z
FROM temptable
+ 1 cho LOAD DATA INFILE. Nếu bạn sử dụng phpmyadmin (rõ ràng là PHP :), bạn có thể dễ dàng so sánh một số phương thức, phổ biến nhất: SELECT INTO và LOAD DATA INFILE với tất cả các tham số và tham số khác nhau của chúng. Bạn sẽ làm những gì tốt nhất cho bạn. Rất có thể đó là LOAD DATA INFILE –
Tùy thuộc vào số lượng thao tác mà anh ta phải làm cho dữ liệu có thể khả thi hơn để đọc nó vào php trước tiên và chèn một hàng tại một thời điểm. Nếu số lượng thao tác là quan trọng thì hiệu quả hơn để làm điều đó trong một kịch bản là gì và sau đó anh ta có hai hoạt động. 1. với LOAD DATA INFILE và sau đó 2. với truy vấn UPDATE TABLE. – thomasmalt
tôi sẽ chỉ cần mở nó với fopen và sử dụng fgetcsv để đọc mỗi dòng vào một mảng. pseudo-php sau:
mysql_connect(//connect to db);
$filehandle = fopen("/path/to/file.csv", "r");
while (($data = fgetcsv($filehandle, 1000, ",")) !== FALSE) {
// $data is an array
// do your parsing here and insert into table
}
fclose($filehandle)
- 1. Nhập dữ liệu CSV bằng cách sử dụng PHP/MySQL
- 2. Nhập tệp CSV vào bảng cơ sở dữ liệu sqlite3 bằng cách sử dụng Python
- 3. Cách nhập nhiều tệp csv vào cơ sở dữ liệu MySQL
- 4. C# Nhập khối lượng lớn dữ liệu từ CSV vào cơ sở dữ liệu
- 5. Điền vào cơ sở dữ liệu Android Từ tệp CSV?
- 6. Phân tích dữ liệu XML bằng cách sử dụng php để đưa vào cơ sở dữ liệu mysql
- 7. nhập tệp csv/excel vào cơ sở dữ liệu sql asp.net
- 8. nhập csv dữ liệu vào cơ sở dữ liệu trong Django quản
- 9. Xuất dữ liệu MYSQL vào Excel/CSV qua php
- 10. JDBC: Xuất dữ liệu thô CSV/nhập từ/sang cơ sở dữ liệu MySQL từ xa bằng cách sử dụng luồng (SELECT INTO OUTFILE/LOAD DATA INFILE)
- 11. Lưu trữ địa chỉ IP trong cơ sở dữ liệu MySQL bằng cách sử dụng PHP
- 12. nhập tệp osm vào cơ sở dữ liệu postgres/postgis
- 13. Tải tệp CSV lớn lên cơ sở dữ liệu SQL Server
- 14. Sử dụng Putty để nhập tệp sql vào cơ sở dữ liệu
- 15. Nhập tệp .sql lớn vào MySQL
- 16. Nhập tệp csv lớn bằng phpMyAdmin
- 17. Chuyển đổi tệp .db cơ sở dữ liệu sang .csv
- 18. Cách nhập tệp sql có dung lượng trên 10mb trong cơ sở dữ liệu mysql
- 19. Nhập Nhiều tệp .sql dump vào cơ sở dữ liệu mysql từ shell
- 20. Làm thế nào để xuất khẩu và nhập khẩu cơ sở dữ liệu mysql với dữ liệu của nó bằng cách sử dụng php script?
- 21. Nhập XML vào cơ sở dữ liệu SQL
- 22. Kích thước cơ sở dữ liệu. PHP - MySQL
- 23. cách nhập cơ sở dữ liệu sqlite vào mathematica
- 24. Tải dữ liệu từ tệp excel lên cơ sở dữ liệu bằng cách sử dụng java
- 25. Facebook PHP SDK - Lưu trữ dữ liệu người dùng vào cơ sở dữ liệu MYSql
- 26. Làm cách nào để nhập cơ sở dữ liệu định dạng Access MDB vào MySQL?
- 27. Làm cách nào để tải tệp sql.gz vào cơ sở dữ liệu của tôi? (nhập)
- 28. Hiển thị cơ sở dữ liệu/bảng MySQL bằng cách sử dụng REST
- 29. Cách sử dụng nhiều cơ sở dữ liệu trong ứng dụng Rails Sử dụng cơ sở dữ liệu
- 30. Làm cách nào để nhập dữ liệu vào cơ sở dữ liệu mysql qua bàn làm việc mysql?
kiểm tra giải pháp của tôi tại http://stackoverflow.com/a/22744300/2037323 trong đó bao gồm một số so sánh cũng –